I have an upload page for uploading multiple mp3 files using
uploadify.
For me it works perfectly, however one of my users reports
intermittent problems, and indeed, errors appear in the logs.
My set up:
Rails 2.3.5 + datamapper 0.10.2, latest uploadify, Ruby EE 1.8.7
2009.10, passenger 2.2.9
Here is a successful uploadify post from the user:
--------------------------------------
Processing Media::Lessons::DaysController#create (for x.x.x.x at
2010-01-20 12:59:16) [POST]
Parameters: {"Filename"=>"20100124_sun.mp3",
"_chronicles_session"=>"..blablabla..",
"folder"=>"/media/lessons/
days/", "action"=>"create",
"authenticity_token"=>"...moreblablabla...",
"Upload"=>"Submit Query",
"fileext"=>"*.mp3",
"controller"=>"media/lessons/days",
"Filedata"=>#<File:/tmp/RackMultipart20100120-4207-dnd6as-0>}
Completed in 1125ms (View: 1 | 200 OK
--------------------------------------
And here is a failed one:
--------------------------------------
/!\ FAILSAFE /!\ Wed Jan 20 13:00:35 +1100 2010
Status: 500 Internal Server Error
You have a nil object when you didn''t expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
rack-1.0.1/lib/rack/methodoverride.rb:15:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:in
`call''
/srv/app/chronicles/003/app/middleware/
flash_session_cookie_middleware.rb:19:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
rack-1.0.1/lib/rack/lock.rb:11:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
rack-1.0.1/lib/rack/lock.rb:11:in `synchronize''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
rack-1.0.1/lib/rack/lock.rb:11:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
actionpack-2.3.5/lib/action_controller/dispatcher.rb:106:in `call''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/rack/request_handler.rb:92:in
`process_request''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_request_handler.rb:
207:in `main_loop''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/application_spawner.rb:
400:in `start_request_handler''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/application_spawner.rb:
351:in `handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/utils.rb:184:in `safe_fork''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/application_spawner.rb:
349:in `handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`__send__''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`main_loop''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:196:in
`start_synchronously''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:163:in
`start''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/application_spawner.rb:
209:in `start''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/framework_spawner.rb:
291:in `handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
126:in `lookup_or_add''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/framework_spawner.rb:
286:in `handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
80:in `synchronize''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
79:in `synchronize''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/framework_spawner.rb:
284:in `handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`__send__''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`main_loop''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:196:in
`start_synchronously''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:163:in
`start''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/railz/framework_spawner.rb:
101:in `start''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/spawn_manager.rb:262:in
`spawn_rails_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
126:in `lookup_or_add''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/spawn_manager.rb:256:in
`spawn_rails_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
80:in `synchronize''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server_collection.rb:
79:in `synchronize''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/spawn_manager.rb:255:in
`spawn_rails_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/spawn_manager.rb:154:in
`spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/spawn_manager.rb:287:in
`handle_spawn_application''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`__send__''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:352:in
`main_loop''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/lib/phusion_passenger/abstract_server.rb:196:in
`start_synchronously''
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/
passenger-2.2.9/bin/passenger-spawn-server:61
--------------------------------------
I have looked at methodoverride.rb but I don''t really get
what''s going
on.
The error occurs here (methodoverride.rb line 15):
--------------------------------------
def call(env)
if env["REQUEST_METHOD"] == "POST"
req = Request.new(env)
method = req.POST[METHOD_OVERRIDE_PARAM_KEY] || #<--------
line 15
env[HTTP_METHOD_OVERRIDE_HEADER]
method = method.to_s.upcase
if HTTP_METHODS.include?(method)
env["rack.methodoverride.original_method"] = env
["REQUEST_METHOD"]
env["REQUEST_METHOD"] = method
end
end
@app.call(env)
end
----------------------------------------
Anyone have any ideas?
The error persists with all versions of passenger I have tried (2.2.4
to 2.2.9)
Thanks,
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.