title: Rails 4 app on Heroku is 500ing, but no error message in logs
body: <p>I've made a new Rails 4 beta app and deployed it to Heroku (using Ruby 2.0.0, and Unicorn via a Procfile). </p>
  
  <p>It runs fine locally with <code>foreman start</code>, but when I visit the homepage of the deployed app, I just get the standard Heroku 500 error:</p>
  
  <pre><code>We're sorry, but something went wrong.
  If you are the application owner check the logs for more information.
  </code></pre>
  
  <p>However, in the logs, <strong>there are no errors</strong>. I've no idea what is causing the 500.</p>
  
  <p>Here is the output from my last <code>git push heroku master</code>:</p>
  
  <pre><code>Counting objects: 6, done.
  Delta compression using up to 8 threads.
  Compressing objects: 100% (4/4), done.
  Writing objects: 100% (4/4), 656 bytes, done.
  Total 4 (delta 2), reused 0 (delta 0)
  
  -----&gt; Ruby/Rails app detected
  -----&gt; Using Ruby version: ruby-2.0.0
  -----&gt; Installing dependencies using Bundler version 1.3.2
         Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
         Using rake (10.0.4)
         Using i18n (0.6.4)
         Using minitest (4.7.3)
         Using multi_json (1.7.2)
         Using atomic (1.1.8)
         Using thread_safe (0.1.0)
         Using tzinfo (0.3.37)
         Using activesupport (4.0.0.beta1)
         Using builder (3.1.4)
         Using erubis (2.7.0)
         Using rack (1.5.2)
         Using rack-test (0.6.2)
         Using actionpack (4.0.0.beta1)
         Using mime-types (1.23)
         Using polyglot (0.3.3)
         Using treetop (1.4.12)
         Using mail (2.5.3)
         Using actionmailer (4.0.0.beta1)
         Using activemodel (4.0.0.beta1)
         Using activerecord-deprecated_finders (0.0.3)
         Using arel (4.0.0)
         Using activerecord (4.0.0.beta1)
         Using coffee-script-source (1.6.2)
         Using execjs (1.4.0)
         Using coffee-script (2.2.0)
         Using json (1.7.7)
         Using rdoc (3.12.2)
         Using thor (0.18.1)
         Using railties (4.0.0.beta1)
         Using coffee-rails (4.0.0)
         Using hike (1.2.2)
         Using jbuilder (1.0.2)
         Using jquery-rails (2.2.1)
         Using kgio (2.8.0)
         Using mysql2 (0.3.11)
         Using bundler (1.3.2)
         Using tilt (1.3.7)
         Using sprockets (2.9.3)
         Using sprockets-rails (2.0.0.rc4)
         Using rails (4.0.0.beta1)
         Using raindrops (0.11.0)
         Using sass (3.2.8)
         Using sass-rails (4.0.0.rc1)
         Using turbolinks (1.1.1)
         Using uglifier (2.0.1)
         Using unicorn (4.6.2)
         Your bundle is complete! It was installed into ./vendor/bundle
         Cleaning up the bundler cache.
  -----&gt; Preparing app for Rails asset pipeline
         Running: rake assets:precompile
         I, [2013-04-23T22:28:44.559735 #871]  INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/rails-d8fb6a2617998f32edf5edb354fc5326.png
         I, [2013-04-23T22:28:49.911890 #871]  INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/application-d4a508061cd56ce9e544945495285e0c.js
         I, [2013-04-23T22:28:50.120141 #871]  INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/application-a3b89b66a8471f3e75abb239e3b35c7d.css
         Asset precompilation completed (8.30s)
  -----&gt; Rails plugin injection
  -----&gt; Discovering process types
         Procfile declares types      -&gt; web
         Default types for Ruby/Rails -&gt; console, rake, worker
  
  -----&gt; Compiled slug size: 35.0MB
  -----&gt; Launching... done, v21
         http://blofs.herokuapp.com deployed to Heroku
  
  To git@heroku.com:blofs.git
     32e51a2..37d989c  master -&gt; master
  </code></pre>
  
  <p>And here are the logs from that push:</p>
  
  <pre><code>2013-04-23T22:28:06.650049+00:00 heroku[slugc]: Slug compilation started
  2013-04-23T22:29:11.194613+00:00 heroku[api]: Release v21 created by callum.locke@gmail.com
  2013-04-23T22:29:11.365908+00:00 heroku[api]: Deploy 37d989c by callum.locke@gmail.com
  2013-04-23T22:29:11.441066+00:00 heroku[web.1]: State changed from up to starting
  2013-04-23T22:29:11.932952+00:00 heroku[slugc]: Slug compilation finished
  2013-04-23T22:29:12.858139+00:00 heroku[web.1]: Stopping all processes with SIGTERM
  2013-04-23T22:29:13.194707+00:00 app[web.1]: I, [2013-04-23T22:29:13.194495 #2]  INFO -- : reaped #&lt;Process::Status: pid 5 exit 0&gt; worker=0
  2013-04-23T22:29:13.194902+00:00 app[web.1]: I, [2013-04-23T22:29:13.194747 #2]  INFO -- : master complete
  2013-04-23T22:29:14.312014+00:00 heroku[web.1]: Process exited with status 0
  2013-04-23T22:29:14.338943+00:00 heroku[web.1]: Starting process with command `bundle exec unicorn -p 25281 -E $RACK_ENV`
  2013-04-23T22:29:15.717687+00:00 app[web.1]: I, [2013-04-23T22:29:15.717387 #2]  INFO -- : listening on addr=0.0.0.0:25281 fd=7
  2013-04-23T22:29:15.717916+00:00 app[web.1]: I, [2013-04-23T22:29:15.717861 #2]  INFO -- : worker=0 spawning...
  2013-04-23T22:29:15.721526+00:00 app[web.1]: I, [2013-04-23T22:29:15.721385 #2]  INFO -- : master process ready
  2013-04-23T22:29:15.723623+00:00 app[web.1]: I, [2013-04-23T22:29:15.723389 #5]  INFO -- : worker=0 spawned pid=5
  2013-04-23T22:29:15.723805+00:00 app[web.1]: I, [2013-04-23T22:29:15.723750 #5]  INFO -- : Refreshing Gem list
  2013-04-23T22:29:16.305653+00:00 heroku[web.1]: State changed from starting to up
  2013-04-23T22:29:16.891063+00:00 app[web.1]: I, [2013-04-23T22:29:16.890882 #5]  INFO -- : worker=0 ready
  </code></pre>
  
  <p>After that, I tried to load the homepage in my browser, and these are the only two extra lines that appeared in the logs:</p>
  
  <pre><code>2013-04-23T22:29:26.685651+00:00 heroku[router]: at=info method=GET path=/ host=blofs.herokuapp.com fwd="46.65.16.44" dyno=web.1 connect=2ms service=156ms status=500 bytes=706
  2013-04-23T22:29:26.973073+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=blofs.herokuapp.com fwd="46.65.16.44" dyno=web.1 connect=1ms service=5ms status=200 bytes=0
  </code></pre>
  
  <p>Does anyone have any idea what the problem could be?</p>
  
  <p>Other things that might be relevant:</p>
  
  <ul>
  <li>I've disabled the standard Heroku Postgres addon and am using the ClearDB MySQL addon instead.</li>
  <li>I've tried manually changing the <code>DATABASE_URL</code> environment variable from the previous value (which was still the postgres URL even after I removed the postgres addon) to the same value as the <code>CLEARDB_DATABASE_URL</code> var (the mysql one). This didn't seem to make any difference.</li>
  <li>I have added <code>ruby '2.0.0'</code> to my Gemfile, and added <code>mysql2</code> and <code>unicorn</code> gems. And I've used the <code>config/unicorn.rb</code> suggested at <a href="https://devcenter.heroku.com/articles/rails-unicorn" rel="noreferrer">https://devcenter.heroku.com/articles/rails-unicorn</a></li>
  <li>My Procfile only contains: <code>web: bundle exec unicorn -p $PORT -E $RACK_ENV</code></li>
  <li>It works fine locally with <code>foreman start</code>.</li>
  <li>Other than the modifications described above, it's basically an out-of-the-box app created with <code>rails new</code>.</li>
  </ul>