I have a rails 3.2.21 app hosted on Heroku, using Heroku Postgres. I got the "undefined method `extend' for class `ActiveRecord::Associations::CollectionProxy'" error fired from every page on one of the web dynos. After a while the dyno was restarted and everything went back to normal.
I have no idea what could cause such an error, any hint would be great.
In case you need, here is a stack trace from one of the pages:
….21/lib/active_record/associations/collection_proxy.rb: 37:in `<class:CollectionProxy>'
….21/lib/active_record/associations/collection_proxy.rb: 36:in `<module:Associations>'
….21/lib/active_record/associations/collection_proxy.rb: 2:in `<module:ActiveRecord>'
….21/lib/active_record/associations/collection_proxy.rb: 1:in `<top (required)>'
…b/active_record/associations/collection_association.rb: 25:in `initialize'
…ve_record/associations/has_many_through_association.rb: 10:in `initialize'
…/activerecord-3.2.21/lib/active_record/associations.rb: 160:in `new'
…/activerecord-3.2.21/lib/active_record/associations.rb: 160:in `association'
…ib/active_record/associations/preloader/association.rb: 18:in `run'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 132:in `block (2 levels) in preload_one'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 131:in `each'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 131:in `block in preload_one'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 130:in `each'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 130:in `preload_one'
…ord-3.2.21/lib/active_record/associations/preloader.rb: 109:in `preload'
…/squeel/adapters/active_record/preloader_extensions.rb: 14:in `block in run_with_squeel'
…/squeel/adapters/active_record/preloader_extensions.rb: 14:in `each'
…/squeel/adapters/active_record/preloader_extensions.rb: 14:in `run_with_squeel'
…gems/activerecord-3.2.21/lib/active_record/relation.rb: 181:in `block in exec_queries'
…gems/activerecord-3.2.21/lib/active_record/relation.rb: 180:in `each'
…gems/activerecord-3.2.21/lib/active_record/relation.rb: 180:in `exec_queries'
…gems/activerecord-3.2.21/lib/active_record/relation.rb: 160:in `block in to_a'
…/gems/activerecord-3.2.21/lib/active_record/explain.rb: 41:in `logging_query_plan'
…gems/activerecord-3.2.21/lib/active_record/relation.rb: 159:in `to_a'
…rd-3.2.21/lib/active_record/relation/finder_methods.rb: 381:in `find_first'
…rd-3.2.21/lib/active_record/relation/finder_methods.rb: 122:in `first'
….1.0/gems/friendly_id-4.0.9/lib/friendly_id/history.rb: 92:in `find_one'
…rd-3.2.21/lib/active_record/relation/finder_methods.rb: 315:in `find_with_ids'
…rd-3.2.21/lib/active_record/relation/finder_methods.rb: 107:in `find'
/app/app/controllers/programs_controller.rb: 8:in `show'
…-3.2.21/lib/action_controller/metal/implicit_render.rb: 4:in `send_action'
…gems/actionpack-3.2.21/lib/abstract_controller/base.rb: 167:in `process_action'
…onpack-3.2.21/lib/action_controller/metal/rendering.rb: 10:in `process_action'
…actionpack-3.2.21/lib/abstract_controller/callbacks.rb: 18:in `block in process_action'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 458:in `_run__283287050225388972__process_action__1943163135672811662__callbacks'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 405:in `__run_callback'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 385:in `_run_process_action_callbacks'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 81:in `run_callbacks'
…actionpack-3.2.21/lib/abstract_controller/callbacks.rb: 17:in `process_action'
…ctionpack-3.2.21/lib/action_controller/metal/rescue.rb: 29:in `process_action'
…-3.2.21/lib/action_controller/metal/instrumentation.rb: 30:in `block in process_action'
…tivesupport-3.2.21/lib/active_support/notifications.rb: 123:in `block in instrument'
….2.21/lib/active_support/notifications/instrumenter.rb: 20:in `instrument'
…tivesupport-3.2.21/lib/active_support/notifications.rb: 123:in `instrument'
…-3.2.21/lib/action_controller/metal/instrumentation.rb: 29:in `process_action'
…k-3.2.21/lib/action_controller/metal/params_wrapper.rb: 207:in `process_action'
….2.21/lib/active_record/railties/controller_runtime.rb: 18:in `process_action'
…gems/actionpack-3.2.21/lib/abstract_controller/base.rb: 121:in `process'
…actionpack-3.2.21/lib/abstract_controller/rendering.rb: 45:in `process'
…/gems/actionpack-3.2.21/lib/action_controller/metal.rb: 203:in `dispatch'
…-3.2.21/lib/action_controller/metal/rack_delegation.rb: 14:in `dispatch'
…/gems/actionpack-3.2.21/lib/action_controller/metal.rb: 246:in `block in action'
…onpack-3.2.21/lib/action_dispatch/routing/route_set.rb: 73:in `call'
…onpack-3.2.21/lib/action_dispatch/routing/route_set.rb: 73:in `dispatch'
…onpack-3.2.21/lib/action_dispatch/routing/route_set.rb: 36:in `call'
…le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb: 68:in `block in call'
…le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb: 56:in `each'
…le/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb: 56:in `call'
…onpack-3.2.21/lib/action_dispatch/routing/route_set.rb: 608:in `call'
…uby/2.1.0/gems/omniauth-1.0.3/lib/omniauth/strategy.rb: 168:in `call!'
…uby/2.1.0/gems/omniauth-1.0.3/lib/omniauth/strategy.rb: 148:in `call'
…uby/2.1.0/gems/omniauth-1.0.3/lib/omniauth/strategy.rb: 168:in `call!'
…uby/2.1.0/gems/omniauth-1.0.3/lib/omniauth/strategy.rb: 148:in `call'
…ruby/2.1.0/gems/omniauth-1.0.3/lib/omniauth/builder.rb: 42:in `call'
…dle/ruby/2.1.0/gems/sass-3.2.9/lib/sass/plugin/rack.rb: 54:in `call'
…by/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb: 136:in `forward'
…by/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb: 245:in `fetch'
…by/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb: 185:in `lookup'
…by/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb: 66:in `call!'
…by/2.1.0/gems/rack-cache-1.2/lib/rack/cache/context.rb: 51:in `call'
…dle/ruby/2.1.0/gems/warden-1.1.1/lib/warden/manager.rb: 35:in `block in call'
…dle/ruby/2.1.0/gems/warden-1.1.1/lib/warden/manager.rb: 34:in `catch'
…dle/ruby/2.1.0/gems/warden-1.1.1/lib/warden/manager.rb: 34:in `call'
…b/action_dispatch/middleware/best_standards_support.rb: 17:in `call'
…dor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/etag.rb: 23:in `call'
…/ruby/2.1.0/gems/rack-1.4.5/lib/rack/conditionalget.rb: 25:in `call'
…tionpack-3.2.21/lib/action_dispatch/middleware/head.rb: 14:in `call'
…3.2.21/lib/action_dispatch/middleware/params_parser.rb: 21:in `call'
…ionpack-3.2.21/lib/action_dispatch/middleware/flash.rb: 242:in `call'
…/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb: 210:in `context'
…/2.1.0/gems/rack-1.4.5/lib/rack/session/abstract/id.rb: 205:in `call'
…npack-3.2.21/lib/action_dispatch/middleware/cookies.rb: 341:in `call'
…s/activerecord-3.2.21/lib/active_record/query_cache.rb: 64:in `call'
…record/connection_adapters/abstract/connection_pool.rb: 479:in `call'
…ack-3.2.21/lib/action_dispatch/middleware/callbacks.rb: 28:in `block in call'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 405:in `_run__2305709260636702136__call__3264484816793770857__callbacks'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 405:in `__run_callback'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 385:in `_run_call_callbacks'
…s/activesupport-3.2.21/lib/active_support/callbacks.rb: 81:in `run_callbacks'
…ack-3.2.21/lib/action_dispatch/middleware/callbacks.rb: 27:in `call'
…ack-3.2.21/lib/action_dispatch/middleware/remote_ip.rb: 31:in `call'
…0/gems/airbrake-4.1.0/lib/airbrake/rails/middleware.rb: 13:in `call'
….21/lib/action_dispatch/middleware/debug_exceptions.rb: 16:in `call'
…2.21/lib/action_dispatch/middleware/show_exceptions.rb: 56:in `call'
…by/2.1.0/gems/railties-3.2.21/lib/rails/rack/logger.rb: 32:in `call_app'
…by/2.1.0/gems/railties-3.2.21/lib/rails/rack/logger.rb: 16:in `block in call'
…ivesupport-3.2.21/lib/active_support/tagged_logging.rb: 22:in `tagged'
…by/2.1.0/gems/railties-3.2.21/lib/rails/rack/logger.rb: 16:in `call'