title: Heroku Error H12 (Request timeout) issue
body: <p>I know its another <strong>Heroku Error H12 (Request timeout) issue</strong>. It seems the issue is caused by many different reason. I deployed a Rails 3.2.2 app on heroku few days ago. When I try to access my app through browser. I got</p>
  
  <pre><code>Application Error
  An error occurred in the application and your page could not be served. Please try      again in a few moments.
  
  If you are the application owner, check your logs for details.
  </code></pre>
  
  <p>So I start searching on the Internet as usual to figure what's wrong. Then I learn to use <strong>heroku logs</strong> to check my log file. Here is the log file.</p>
  
  <pre><code>2012-06-11T03:16:51+00:00 heroku[web.1]: Unidling
  2012-06-11T03:16:51+00:00 heroku[web.1]: State changed from down to created
  2012-06-11T03:16:51+00:00 heroku[web.1]: State changed from created to starting
  2012-06-11T03:16:56+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 43527`
  2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/config/environment.rb:5)
  2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/config/environment.rb:5)
  2012-06-11T03:17:09+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/config/environment.rb:5)
  2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO  WEBrick 1.3.1
  2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO  WEBrick::HTTPServer#start: pid=1 port=43527
  2012-06-11T03:17:16+00:00 app[web.1]: [2012-06-11 03:17:16] INFO  ruby 1.9.2 (2011-07-09) [x86_64-linux]
  2012-06-11T03:17:17+00:00 heroku[web.1]: State changed from starting to up
  2012-06-11T03:17:19+00:00 app[web.1]: =&gt; Booting WEBrick
  2012-06-11T03:17:19+00:00 app[web.1]: =&gt; Rails 3.2.2 application starting in production on http://0.0.0.0:43527
  2012-06-11T03:17:19+00:00 app[web.1]: =&gt; Call with -d to detach
  2012-06-11T03:17:19+00:00 app[web.1]: =&gt; Ctrl-C to shutdown server
  2012-06-11T03:17:19+00:00 app[web.1]: 
  2012-06-11T03:17:19+00:00 app[web.1]: 
  2012-06-11T03:17:19+00:00 app[web.1]: Started GET "/" for 123.240.186.119 at 2012-06-11 03:17:19 +0000
  2012-06-11T03:17:20+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
  2012-06-11T03:17:20+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (40.3ms)
  2012-06-11T03:17:49+00:00 heroku[router]: Error H12 (Request timeout) -&gt; GET cold-lightning-6691.herokuapp.com/ dyno=web.1 queue= wait= service=30000ms status=503 bytes=0
  </code></pre>
  
  <p>After reviewing the logs, I don't really understand what's wrong. I did the research on the Internet again. It seems there are many different reasons which may cause this issue. I know there maybe some bugs in my app. But I can't tell which part of my code is wrong.</p>
  
  <p>And <strong>I can run my app in my local computer</strong>. So do you know what's the problem or how to spot the problem?</p>
  
  <p><strong>Update:</strong></p>
  
  <p>When I do
  git push heroku</p>
  
  <p>I receive this error message</p>
  
  <pre><code>Your bundle is complete! It was installed into ./vendor/bundle
         Cleaning up the bundler cache.
  -----&gt; Writing config/database.yml to read from DATABASE_URL
  -----&gt; Preparing app for Rails asset pipeline
         Running: rake assets:precompile
         rake aborted!
         could not connect to server: Connection refused
         Is the server running on host "127.0.0.1" and accepting
         TCP/IP connections on port 5432?
  </code></pre>
  
  <p>and I run
  $ heroku run rake assets:precompile --trace</p>
  
  <p>I got </p>
  
  <pre><code>Running rake assets:precompile --trace attached to terminal... up, run.1
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-      rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  ** Invoke assets:precompile (first_time)
  ** Execute assets:precompile
  /usr/local/bin/ruby /app/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:all       RAILS_ENV=production RAILS_GROUPS=assets --trace
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  ** Invoke assets:precompile:all (first_time)
  ** Execute assets:precompile:all
  ** Invoke assets:precompile:primary (first_time)
  ** Invoke assets:environment (first_time)
  ** Execute assets:environment
  ** Invoke environment (first_time)
  ** Execute environment
  ** Invoke tmp:cache:clear (first_time)
  ** Execute tmp:cache:clear
  ** Execute assets:precompile:primary
  rake aborted!
  Unexpected token: operator (&lt;) (line: 11780, col: 1, pos: 325392)
  
  Error
  at new JS_Parse_Error (/tmp/execjs20120611-10-3yiu6e.js:497:22)
  at js_error (/tmp/execjs20120611-10-3yiu6e.js:505:15)
  at croak (/tmp/execjs20120611-10-3yiu6e.js:954:17)
  at token_error (/tmp/execjs20120611-10-3yiu6e.js:961:17)
  at unexpected (/tmp/execjs20120611-10-3yiu6e.js:967:17)
  at /tmp/execjs20120611-10-3yiu6e.js:1340:17
  at maybe_unary (/tmp/execjs20120611-10-3yiu6e.js:1425:27)
  at expr_ops (/tmp/execjs20120611-10-3yiu6e.js:1452:32)
  at maybe_conditional (/tmp/execjs20120611-10-3yiu6e.js:1456:28)
  at maybe_assign (/tmp/execjs20120611-10-3yiu6e.js:1480:28)
    (in /app/app/assets/javascripts/application.js)
  /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:67:in    `extract_result'
  /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:27:in `block in exec'
  /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:40:in `compile_to_tempfile'
  /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/external_runtime.rb:26:in `exec'
  /app/vendor/bundle/ruby/1.9.1/gems/uglifier-1.2.3/lib/uglifier.rb:101:in `compile'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/compressors.rb:74:in `compress'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processing.rb:265:in `block in js_compressor='
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processor.rb:29:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/processor.rb:29:in `evaluate'
  /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:177:in `block in evaluate'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:174:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/context.rb:174:in `evaluate'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/bundled_asset.rb:26:in `initialize'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:244:in `new'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:244:in `build_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:89:in `block in build_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/caching.rb:19:in `cache_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:88:in `build_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:163:in `find_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/index.rb:56:in `find_asset'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/static_compiler.rb:20:in `block in compile'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:212:in `block in each_logical_path'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:200:in `block (2 levels) in each_file'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:190:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:190:in `each_entry'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:198:in `block in each_file'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:197:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:197:in `each_file'
  /app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.1.2/lib/sprockets/base.rb:210:in `each_logical_path'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/static_compiler.rb:18:in `compile'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:56:in `internal_precompile'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:70:in `block (3 levels) in &lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
  /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:60:in `block (3 levels) in &lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
  /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `&lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `&lt;main&gt;'
  Tasks: TOP =&gt; assets:precompile:primary
  rake aborted!
  Command failed with status (1): [/usr/local/bin/ruby /app/vendor/bundle/rub...]
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in  create_shell_runner'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:80:in `ruby'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `ruby'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:12:in `ruby_rake_task'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
  /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.2/lib/sprockets/assets.rake:29:in `block (2 levels) in &lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
  /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `&lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `&lt;main&gt;'
  Tasks: TOP =&gt; assets:precompile
  </code></pre>