# Problems with flash upload, strange failsafe error

**URL:** <https://www.ruby-forum.com/t/problems-with-flash-upload-strange-failsafe-error/181932>\
**Category:** Rails\
**Created:** [January 20, 2010, 11:17am UTC](https://www.ruby-forum.com/t/problems-with-flash-upload-strange-failsafe-error/181932 "2010-01-20T11:17:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dxg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c89c15/32.png) [@dxg](https://www.ruby-forum.com/u/dxg)\
**Post date:** [January 20, 2010, 11:17am UTC](https://www.ruby-forum.com/t/problems-with-flash-upload-strange-failsafe-error/181932/1 "2010-01-20T11:17:44Z")

</div>

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,
