A frustrating and strange error when config.action_controller.perform_caching = true


#1

Hello all.

I am having a hell of a problem and it’s driving me nuts. I get the
following error (undefined method `controller_name’ for nil:NilClass):
but
only when config.action_controller.perform_caching = true

I googled around some and found this thread
http://groups.google.com/group/communityengine/browse_thread/thread/b84154e5228bf9f3which
suggests it may be a conflict with a pllug in controller but I don’t
see any two controllers with the same name.

This particular controller is using activescaffold and I think that
might be
a part of the problem though I can’t be sure. As you can see from the
stacktrace rails has finished rendering the page and seems to throw a
fit
during sweeping.rb. Also none of my controllers are mentioned in the
stacktrace.

What can I do to figure out why this is failing? This is driving me
nuts.

End of component rendering
2009-04-17T13:22:22+01:00 : DEBUG : Rendered match/_provider_summary
(37.0ms)
2009-04-17T13:22:22+01:00 : FATAL :

NoMethodError (undefined method controller_name' for nil:NilClass): /vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb:83:incallback’
/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb:65:in
after' /vendor/rails/actionpack/lib/action_controller/filters.rb:208:inaround_proc’
/vendor/rails/activesupport/lib/active_support/callbacks.rb:182:in
call' /vendor/rails/activesupport/lib/active_support/callbacks.rb:182:inevaluate_method’
/vendor/rails/actionpack/lib/action_controller/filters.rb:184:in
call' /vendor/rails/actionpack/lib/action_controller/filters.rb:635:inrun_before_filters’
/vendor/rails/actionpack/lib/action_controller/filters.rb:615:in
call_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:610:inperform_action_without_benchmark’
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
perform_action_without_rescue' /usr/local/lib/ruby/1.8/benchmark.rb:293:inmeasure’
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
perform_action_without_rescue' /vendor/rails/actionpack/lib/action_controller/rescue.rb:136:inperform_action_without_caching’

/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in
`passenger_orig_perform_action’

/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in
cache' /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:incache’

/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in
`passenger_orig_perform_action’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/request_handler.rb:53:in
perform_action' /vendor/rails/actionpack/lib/action_controller/base.rb:524:insend’
/vendor/rails/actionpack/lib/action_controller/base.rb:524:in
process_without_filters' /vendor/rails/actionpack/lib/action_controller/filters.rb:606:inprocess_without_session_management_support’

/vendor/rails/actionpack/lib/action_controller/session_management.rb:134:in
process' /vendor/rails/actionpack/lib/action_controller/base.rb:392:inprocess’
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:183:in
handle_request' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:indispatch_unlocked’
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:123:in
dispatch' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:insynchronize’
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:122:in
dispatch' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:132:indispatch_cgi’
/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:39:in
`dispatch’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/request_handler.rb:38:in
`process_request’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_request_handler.rb:197:in
`main_loop’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:340:in
`start_request_handler’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:298:in
`handle_spawn_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/utils.rb:176:in
`safe_fork’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:296:in
`handle_spawn_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in
`send

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in
`main_loop’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:182:in
`start_synchronously’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:149:in
`start’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/railz/application_spawner.rb:192:in
`start’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:260:in
`spawn_rails_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:121:in
`lookup_or_add’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:254:in
`spawn_rails_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:75:in
`synchronize’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server_collection.rb:74:in
`synchronize’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:253:in
`spawn_rails_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:148:in
`spawn_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/spawn_manager.rb:285:in
`handle_spawn_application’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in
`send

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:332:in
`main_loop’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/lib/phusion_passenger/abstract_server.rb:182:in
`start_synchronously’

/usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.3/bin/passenger-spawn-server:50