r6160 Tempfile implemenation breaks default Ruby 1.8.6 behavior
---------------------------------------------------------------

                 Key: JRUBY-2258
                 URL: http://jira.codehaus.org/browse/JRUBY-2258
             Project: JRuby
          Issue Type: Bug
          Components: Application Error
         Environment: JRuby trunk, Rails 1.2.6, attachment_fu plugin
            Reporter: Martin Grund


Hi,

when using JRuby trunk together with Rails 1.2.6 and the attachment_fu plugin I 
come across the following problem: The temp-file implementation of JRuby is 
different from the one in Ruby 1.8.6 which leads to a problem when using the 
attachment_fu Rails plugin.

In MRI when calling Tempfile.new this method calls make_tmpname with two 
parameters basename and n (a counter), in JRuby revision r6160 the signature of 
make_tmpname changed. Unfortunatly attachment_fu opens Tempfile and changes the 
implementation of make_tmpname but with a different signature. When now the new 
implementation of Tempfile.new calls the overwritten implementation of 
make_tmpname this results in an error beacause of a different argument count.

The problem here is, that this is not easy solvable because of the following 
reasons:

1.) MRI 1.8.6 uses Thread.critical to make sure that no other Thread is 
scheduled, but this works only in a green threaded environment - that was the 
reason why the source was changed I assume
2.) make_tmpname is a private method and should not be redefined, but the 
redefinition is based on the private signature of MRI 1.8.6
3) Changing the implementation back to one using counters would not help since 
this goes back to the problems of (1)

I am aware of the difficulty of this bug report but all I could do without 
changing the whole source code was to revert back to version 6159 of JRuby 
where everything worked fine.

Regards,
Martin

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to