From: Rick Lloyd Date: 2009-04-27T15:35:02+09:00 Subject: [ruby-core:23326] [Bug #1414] NameError (undefined method `path' for class `ActionController::UploadedStringIO') Bug #1414: NameError (undefined method `path' for class `ActionController::UploadedStringIO') http://redmine.ruby-lang.org/issues/show/1414 Author: Rick Lloyd Status: Open, Priority: Normal ruby -v: ruby 1.9.2dev (2009-04-25 trunk 23281) [powerpc-darwin9.6.0] See also Ruby bug #1271 Processing ApplicationController#create (for 127.0.0.1 at 2009-04-26 19:00:26) [POST] Parameters: {"authenticity_token"=>"cP8NCg4Exg4e22Ijs/bRLpgzjnVwmwspKi8QnF4Xi40=", "mugshot"=>{"uploaded_data"=>#}, "commit"=>"Create"} NameError (undefined method `path' for class `ActionController::UploadedStringIO'): :8:in `synchronize' thin (1.0.0) lib/thin/connection.rb:63:in `pre_process' thin (1.0.0) lib/thin/connection.rb:54:in `process' thin (1.0.0) lib/thin/connection.rb:39: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.0) lib/thin/backends/base.rb:57:in `start' thin (1.0.0) lib/thin/server.rb:150:in `start' The problem is triggered when using attachment_fu, with file_storage, to load a jpg image into a rails application. The problem occurs on only the first create after restarting the server (thin). After the first failed create, a browser reload with no change in data will succeed. Also all following creates will succeed. I'm not assuming this to be a ruby bug but am unable to track the problem any closer than prelude.rb in the ruby source. The previous issue (bug #1271) looks to be the same as mine. If I use webrick instead of thin for the server I get a server crash. I've attached a gz tarfile of the minimum needed to repeat the problem. I have not included rails, thin, or any other of the standard gems. The mugshots/vendor/plugins does contain attachment_fu as I needed to submit a change to that gem (: no longer and alias for then). I've included a GEM-LIST (gem list) file fyi. Here are the steps: In terminal: gzcat mugshots.tar.gz | tar xvf - cd mugshots rake db:migrate script/server thin In browser: http://localhost:3000/mugshots/new use "Browse..." to select ".../mugshots/DSCN0925.jpg" use "Create" to demonstrate problem use browser "Reload Current Page" and "Resend" buttons to successfully load attached image click "New shot" link use "Browse..." to select ".../mugshots/DSCN0913.jpg" use "Create" to successfully load attached image ---------------------------------------- http://redmine.ruby-lang.org