Removing the cache_sweeper line from my overridden controller is a fix. ..which might make sense, if the cache_sweeper is trying to expire the same thing twice.
On Thu, Nov 19, 2009 at 10:44 AM, mike muldoon <[email protected]> wrote: > How to repro with a base CE edge install: create > <base>/app/controllers/users_controller.rb, containing: > > class UsersController < BaseController > cache_sweeper :taggable_sweeper, :only => [:activate, :update, :destroy] > end > > Run in production mode, update your profile, hit save. > > On Thu, Nov 19, 2009 at 8:50 AM, moritz <[email protected]> wrote: >> Knowing that I might repeat myself, I've reproducibly seen this error >> in the past when: >> >> (1) a controller is (partially) overridden >> (2) there is a cache_sweeper line in the controller >> (3) config.action_controller.perform_caching = true >> >> Currently, my work-around is to comment the cache_sweeper out (in the >> overriding controller), but I'm interested in a real solution. >> >> Valeri's assessment in the following thread got me on the right track >> to eliminate the issue: >> http://groups.google.com/group/communityengine/browse_thread/thread/b84154e5228bf9f3?pli=1 >> >> Please also note, that my last CE upgrade is a while back. Let me >> know if I can help any further. >> >> On Nov 18, 6:38 pm, Bruno Bornsztein <[email protected]> >> wrote: >>> CE version (with git commit sha)? >>> Rails version? >>> Any controllers or models overridden? >>> Can you repro this with a blank app? >>> >>> Thanks, we'll get this tracked down. >>> >>> On Wed, Nov 18, 2009 at 8:23 PM, mike muldoon <[email protected]> >>> wrote: >>> > Starting the app locally in production mode, I can now repro it. That >>> > eliminates passenger. >>> >>> > In config/environments/production.rb, setting this to false fixes the bug: >>> > config.action_controller.perform_caching = false >>> >>> > Not really a fix, but at least a clue. >>> >>> > On Wed, Nov 18, 2009 at 6:02 PM, Bruno Bornsztein >>> > <[email protected]> wrote: >>> >> I doubt passenger is the culprit (I have several sites running on >>> >> Passenger with no problems). >>> >>> >> On Wed, Nov 18, 2009 at 8:01 PM, mike muldoon <[email protected]> >>> >> wrote: >>> >>> My staging/prod environments use passenger. I'm working with my >>> >>> hosting provider to restart with mongrel, and see if that has any >>> >>> effect. >>> >>> >>> I'll try a fresh CE install, too. >>> >>> >>> On Wed, Nov 18, 2009 at 5:39 PM, Bruno Bornsztein >>> >>> <[email protected]> wrote: >>> >>>> Hi guys, >>> >>>> I'd love to help fix this, but I can't reproduce it locally. Here are >>> >>>> the steps I'm taking: >>> >>>> using rails 2.3.4 >>> >>> >>>> $ rails ce_test >>> >>>> -m http://www.communityengine.org/edge_install_template.rb >>> >>> >>>> In app/controllers, add: >>> >>> >>>> class UsersController < BaseController >>> >>> >>>> def index >>> >>>> #dummy >>> >>>> end >>> >>> >>>> end >>> >>> >>>> Then I start my app with: thin start -e production >>> >>> >>>> No nil.controller_name error >>> >>> >>>> Can you guys post a process I can reproduce to get this error? >>> >>> >>>> On Wed, Nov 18, 2009 at 6:14 PM, mike muldoon <[email protected]> >>> >>>> wrote: >>> >>> >>>>> I have started seeing this, too, (I am on edge). I can not repro in my >>> >>>>> dev environment, but I can repro it in production. >>> >>> >>>>> UsersController.update exits normally, but the redirection fails with >>> >>>>> this stacktrace: >>> >>> >>>>> NoMethodError (You have a nil object when you didn't expect it! >>> >>>>> The error occurred while evaluating nil.controller_name): >>> >>>>> haml (2.0.9) lib/sass/plugin/rails.rb:19:in `process' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/rack/request_handler.rb:91:in `process_request' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/abstract_request_handler.rb:206:in `main_loop' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/railz/application_spawner.rb:376:in >>> >>>>> `start_request_handler' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/railz/application_spawner.rb:334:in >>> >>>>> `handle_spawn_application' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/utils.rb:182:in `safe_fork' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/railz/application_spawner.rb:332:in >>> >>>>> `handle_spawn_application' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in >>> >>>>> `__send__' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in >>> >>>>> `main_loop' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:195:in >>> >>>>> `start_synchronously' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:162:in >>> >>>>> `start' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/railz/application_spawner.rb:213:in `start' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:261:in >>> >>>>> `spawn_rails_application' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/abstract_server_collection.rb:126:in >>> >>>>> `lookup_or_add' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:255:in >>> >>>>> `spawn_rails_application' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/abstract_server_collection.rb:80:in >>> >>>>> `synchronize' >>> >>>>> passenger (2.2.4) >>> >>>>> lib/phusion_passenger/abstract_server_collection.rb:79:in >>> >>>>> `synchronize' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:254:in >>> >>>>> `spawn_rails_application' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:153:in >>> >>>>> `spawn_application' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/spawn_manager.rb:286:in >>> >>>>> `handle_spawn_application' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in >>> >>>>> `__send__' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:351:in >>> >>>>> `main_loop' >>> >>>>> passenger (2.2.4) lib/phusion_passenger/abstract_server.rb:195:in >>> >>>>> `start_synchronously' >>> >>> >>>>> Version info: >>> >>> >>>>> Rails 2.3.2 >>> >>>>> ruby 1.8.6 (2008-08-11 patchlevel 287) [x86_64-linux] Ruby Enterprise >>> >>>>> Edition 20090610 >>> >>> >>>>> actionmailer (2.3.2) >>> >>>>> actionpack (2.3.2) >>> >>>>> activerecord (2.3.2) >>> >>>>> activeresource (2.3.2) >>> >>>>> activesupport (2.3.2) >>> >>>>> authlogic (2.1.3) >>> >>>>> aws-s3 (0.6.2) >>> >>>>> builder (2.1.2) >>> >>>>> calendar_date_select (1.15) >>> >>>>> capistrano (2.5.5, 1.4.2) >>> >>>>> desert (0.5.0) >>> >>>>> extlib (0.9.12) >>> >>>>> fastthread (1.0.7) >>> >>>>> haml (2.0.9) >>> >>>>> highline (1.5.1) >>> >>>>> hpricot (0.8.1) >>> >>>>> htmlentities (4.0.0) >>> >>>>> icalendar (1.1.0) >>> >>>>> json (1.1.7) >>> >>>>> mime-types (1.16) >>> >>>>> mysql (2.7) >>> >>>>> needle (1.3.0) >>> >>>>> net-scp (1.0.2) >>> >>>>> net-sftp (2.0.2, 1.1.1) >>> >>>>> net-ssh (2.0.11, 1.1.4) >>> >>>>> net-ssh-gateway (1.0.1) >>> >>>>> ohai (0.3.2) >>> >>>>> passenger (2.2.4) >>> >>>>> postgres (0.7.9.2008.01.28) >>> >>>>> rack (1.0.0) >>> >>>>> rails (2.3.2) >>> >>>>> rake (0.8.7) >>> >>>>> rmagick (2.9.2) >>> >>>>> sqlite3-ruby (1.2.4) >>> >>>>> systemu (1.2.0) >>> >>>>> termios (0.9.4) >>> >>>>> xml-simple (1.0.12) >>> >>> >>>>> On Wed, Nov 18, 2009 at 12:29 PM, Levi Rosol <[email protected]> >>> >>>>> wrote: >>> >>>>> > This looks similar to the issue I have been having. >>> >>> >>>>> > -- >>> >>>>> > Levi Rosol >>> >>>>> > Twitter: @LeviRosol >>> >>> >>>>> > On Wed, Nov 18, 2009 at 11:41 AM, SS <[email protected]> >>> >>>>> > wrote: >>> >>> >>>>> >> Hello, >>> >>>>> >> I spent the last whole week trying to fix the below error in >>> >>>>> >> Production. In Development it all works fine, however when I try to >>> >>>>> >> edit profile information for a user in production, I keep getting >>> >>>>> >> the >>> >>>>> >> error message below. The interesting thing is that after I get this >>> >>>>> >> error message and visit my user profile, all the changes have been >>> >>>>> >> successfully committed in the database. I've overridden only the >>> >>>>> >> index >>> >>>>> >> () method in my own users_controller.rb in the following manner: >>> >>> >>>>> >> require "RMagick" >>> >>>>> >> class UsersController < BaseController >>> >>> >>>>> >> def index >>> >>>>> >> # Some logic goes here. >>> >>>>> >> end >>> >>>>> >> end >>> >>> >>>>> >> I read and tried the suggested solution here: >>> >>> >>>>> >>http://groups.google.com/group/communityengine/browse_thread/thread/b... >>> >>> >>>>> >> This however didn't work for me, plus if it worked I would try to >>> >>>>> >> find >>> >>>>> >> a different solution since I don't want to remove and duplicate the >>> >>>>> >> original file for any method that I override in i.e. >>> >>>>> >> users_controller.rb. >>> >>> >>>>> >> The Error message that I get after the database query is processed: >>> >>> >>>>> >> Processing UsersController#update (for 70.75.54.26 at 2009-11-18 >>> >>>>> >> 09:21:45) [PUT] >>> >>>>> >> Parameters: {"user"=>{"birthday(2i)"=>"11", "birthday(3i)"=>"4", >>> >>>>> >> "zip"=>"", "description"=>"<p>Test Description</p>", "birthday >>> >>>>> >> (1i)"=>"1994"}, "commit"=>"Save Changes", >>> >>>>> >> "authenticity_token"=>"4QLH9ovpWwefeZOavRXaz4BXt1Y/aTOfW3N7SvA=", >>> >>>>> >> "country_id"=>"1", "id"=>"administrator", "metro_area_id"=>"4", >>> >>>>> >> "tag_list"=>"", "state_id"=>"3"} >>> >>>>> >> Redirected tohttp://mypage.com/administrator >>> >>> >>>>> >> NoMethodError (undefined method `controller_name' for >>> >>>>> >> nil:NilClass): >>> >>>>> >> haml (2.2.3) lib/sass/plugin/rails.rb:19:in `process' >>> >>>>> >> /home/heroku_rack/lib/static_assets.rb:9:in `call' >>> >>>>> >> /home/heroku_rack/lib/last_access.rb:25:in `call' >>> >>>>> >> /home/heroku_rack/lib/date_header.rb:14:in `call' >>> >>>>> >> thin (1.0.1) lib/thin/connection.rb:80:in `pre_process' >>> >>>>> >> thin (1.0.1) lib/thin/connection.rb:78:in `catch' >>> >>>>> >> thin (1.0.1) lib/thin/connection.rb:78:in `pre_process' >>> >>>>> >> thin (1.0.1) lib/thin/connection.rb:57:in `process' >>> >>>>> >> thin (1.0.1) lib/thin/connection.rb:42:in `receive_data' >>> >>>>> >> eventmachine (0.12.6) lib/eventmachine.rb:240:in `run_machine' >>> >>>>> >> eventmachine (0.12.6) lib/eventmachine.rb:240:in `run' >>> >>>>> >> thin (1.0.1) lib/thin/backends/base.rb:57:in `start' >>> >>>>> >> thin (1.0.1) lib/thin/server.rb:150:in `start' >>> >>>>> >> thin (1.0.1) lib/thin/controllers/controller.rb:80:in `start' >>> >>>>> >> thin (1.0.1) lib/thin/runner.rb:173:in `send' >>> >>>>> >> thin (1.0.1) lib/thin/runner.rb:173:in `run_command' >>> >>>>> >> thin (1.0.1) lib/thin/runner.rb:139:in `run!' >>> >>>>> >> thin (1.0.1) bin/thin:6 >>> >>>>> >> /usr/local/bin/thin:20:in `load' >>> >>>>> >> /usr/local/bin/thin:20 >>> >>> >>>>> >> Please help with any ideas that you may have for me to try. It's >>> >>>>> >> kind >>> >>>>> >> of a showstopper for me because users can't edit any profile >>> >>>>> >> information. I'm running on Heroku. >>> >>> >>>>> >> Cheers, >>> >>>>> >> Siyan >>> >>> >>>>> >> -- >>> >>> >>>>> >> You received this message because you are subscribed to the Google >>> >>>>> >> Groups >>> >>>>> >> "CommunityEngine" group. >>> >>>>> >> To post to this group, send email to >>> >>>>> >> [email protected]. >>> >>>>> >> For more options, visit this group at >>> >>>>> >>http://groups.google.com/group/communityengine?hl=. >>> >>> >>>>> > -- >>> >>> >>>>> > You received this message because you are subscribed to the Google >>> >>>>> > Groups >>> >>>>> > "CommunityEngine" group. >>> >>>>> > To post to this group, send email to >>> >>> ... >>> >>> read more » >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "CommunityEngine" group. >> To post to this group, send email to [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/communityengine?hl=. >> >> >> > -- You received this message because you are subscribed to the Google Groups "CommunityEngine" group. To post to this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/communityengine?hl=.
