rails/rails — Issue #3321: Rails 3.1 (and 3.1.1) fails to respond in production
Author: bnferguson
Created: 2011-10-13 17:31:02+00:00
State: open

In the process of upgrading an existing Rails 3 app to 3.1.1 but have run into a problem where when running in production the app simply will not respond. You might see something about a cache miss (but not always) in the logs but otherwise it's completely silent until the browser times out.

I'm beginning to wonder if there is some sort of gem conflict in my gaggle of gems that I haven't been able to track down. Updating them all or just select ones hasn't helped.

Here's my bundle:

* XMLCanonicalizer (1.0.1)
* ZenTest (4.6.0)
* aaronh-chronic (0.3.9)
* actionmailer (3.1.1)
* actionpack (3.1.1)
* activemodel (3.1.1)
* activerecord (3.1.1)
* activeresource (3.1.1)
* activesupport (3.1.1)
* addressable (2.2.6)
* arel (2.2.1)
* autotest (4.4.6)
* babosa (0.3.5)
* beanstalk-client (1.1.0)
* bson (1.4.0)
* bson_ext (1.4.0)
* builder (3.0.0)
* bundler (1.0.21)
* capistrano (2.8.0)
* capistrano-ext (1.2.1)
* capybara (1.1.1)
* childprocess (0.2.2)
* clearance (0.12.0)
* crack (0.1.8)
* cucumber (1.0.6)
* cucumber-rails (1.0.2)
* daemons (1.1.4)
* database_cleaner (0.6.7)
* diesel (0.1.5)
* diff-lcs (1.1.3)
* erubis (2.7.0)
* eventmachine (0.12.10)
* factory_girl (2.0.3)
* factory_girl_rails (1.1.0)
* faker (1.0.1)
* faraday (0.7.5)
* ffi (1.0.9)
* friendly_id (3.2.1.1)
* gherkin (2.4.21)
* googlecharts (1.6.7)
* haml (3.1.2)
* highline (1.6.2)
* hike (1.2.1)
* hoptoad_notifier (2.4.11)
* httparty (0.4.5)
* i18n (0.6.0)
* jquery-rails (1.0.12)
* json (1.6.1)
* json_pure (1.6.1)
* log4r (1.1.9)
* loofah (1.2.0)
* macaddr (1.4.0)
* mail (2.3.0)
* memcache-client (1.8.5)
* mime-types (1.16)
* mm-multi-parameter-attributes (0.2.1)
* mongo (1.4.0)
* mongo_mapper (0.9.2 cbed744)
* multi_json (1.0.3)
* multi_xml (0.4.1)
* multipart-post (1.1.3)
* my_emma (0.1.2 9c17f09)
* mysql2 (0.3.7)
* net-ldap (0.2.2)
* net-scp (1.0.4)
* net-sftp (2.0.5)
* net-ssh (2.1.4)
* net-ssh-gateway (1.1.0)
* newrelic_rpm (3.1.2)
* nokogiri (1.5.0)
* oa-basic (0.3.0)
* oa-core (0.3.0)
* oa-enterprise (0.3.0)
* oa-more (0.3.0)
* oa-oauth (0.3.0)
* oa-openid (0.3.0)
* oauth (0.4.5)
* oauth2 (0.5.1)
* omniauth (0.3.0)
* plucky (0.3.8)
* polyglot (0.3.2)
* pusher (0.8.3)
* pyu-ruby-sasl (0.0.3.3)
* rack (1.3.4)
* rack-cache (1.1)
* rack-contrib (1.1.0)
* rack-mount (0.8.3)
* rack-openid (1.3.1)
* rack-ssl (1.3.2)
* rack-test (0.6.1)
* rails (3.1.1)
* rails3-generators (0.17.4)
* railties (3.1.1)
* rake (0.9.2)
* rakismet (1.1.2)
* rdoc (3.10)
* rest-client (1.6.7)
* rpm_contrib (2.1.4)
* rspec (2.6.0)
* rspec-core (2.6.4)
* rspec-expectations (2.6.0)
* rspec-mocks (2.6.0)
* rspec-rails (2.6.1)
* ruby-hmac (0.4.0)
* ruby-openid (2.1.8)
* ruby-openid-apps-discovery (1.2.0)
* rubyntlm (0.1.1)
* rubyzip (0.9.4)
* sailthru (1.1.2 27438db)
* sass (3.1.10)
* selenium-webdriver (2.8.0)
* shoulda-matchers (1.0.0.beta3)
* signature (0.1.2)
* simplecov (0.4.2)
* simplecov-html (0.4.5)
* sprockets (2.0.2)
* sqlite3 (1.3.4)
* stalker (0.9.0)
* systemu (2.2.0)
* term-ansicolor (1.0.6)
* test-unit (2.3.1)
* thin (1.2.11)
* thor (0.14.6)
* tilt (1.3.3)
* treetop (1.4.10)
* tzinfo (0.3.30)
* uuid (2.3.4)
* whenever (0.6.8)
* will_paginate (3.0.2)
* xpath (0.1.4)

And here's my Middleware stack:

use HoptoadNotifier::UserInformer
use ActionDispatch::Static
use Rack::Lock
use #
use Rack::Runtime
use Rack::MethodOverride
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use ActionDispatch::RemoteIp
use Rack::Sendfile
use ActionDispatch::Reloader
use ActionDispatch::Callbacks
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::Cookies
use ActionDispatch::Session::CookieStore
use CommunityReboot::ForceSessionCookiesDomain
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
use ActionDispatch::Head
use Rack::ConditionalGet
use Rack::ETag
use ActionDispatch::BestStandardsSupport
use Rack::JSONP
use HoptoadNotifier::Rack
use MongoMapper::Middleware::IdentityMap
use OmniAuth::Builder
use Rakismet::Middleware
use NewRelic::Rack::DeveloperMode
use NewRelic::Rack::BrowserMonitoring
run CommunityReboot::Application.routes

I've even tried inserting a bad call in the middleware stack towards the beginning and it seems like it just didn't care. (I may have done it wrong too - expected it to blow up *somewhere*). Anyway, this is just head bashingly baffling since it works perfectly in development, acceptance tests, and specs.

Anyone seen anything like this?