You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Only affects 1.7. Reproduction can be found at https://github.com/samphippen/playground.git under call_origin_with_module. bundle install, then bundle exec ruby explain_the_bug.rb.
JRuby 9k and MRI:
$ bundle exec ruby explain_the_bug.rb
uri:classloader:/jruby/kernel/kernel.rb:17: warning: unsupported exec option: close_others
Pure module singleton class owner #<Class:#<Module:0x77847718>>
Pure module singleton class owner equals singleton class? true
jrjackson singleton class owner #<Class:JrJackson::Raw>
jrjackson singleton class owner equals singleton class? true
JRuby 1.7.x:
$ bundle exec ruby explain_the_bug.rb
Pure module singleton class owner #<Class:#<Module:0x795cd85e>>
Pure module singleton class owner equals singleton class? true
jrjackson singleton class owner JrJackson::Raw
jrjackson singleton class owner equals singleton class? false
I suspect this is a problem of divergent logic in the reflective JRubyMethod annotation binding. The jrjackson gem has a JRuby ext component, which would use the reflective logic. I could not reproduce with exts shipped with JRuby, and they all use our generated "Populator" code. I also fixed a number of discrepancies between the generated populators and the reflective populators for JRuby 9k while looking into pure-invokedynamic method objects. Somewhere in there is a fix we need to backport to 1.7.
The text was updated successfully, but these errors were encountered:
Only affects 1.7. Reproduction can be found at https://github.com/samphippen/playground.git under
call_origin_with_module
.bundle install
, thenbundle exec ruby explain_the_bug.rb
.JRuby 9k and MRI:
JRuby 1.7.x:
Cause of rspec/rspec-mocks#964. Thanks @samphippen for the repro case.
I suspect this is a problem of divergent logic in the reflective JRubyMethod annotation binding. The
jrjackson
gem has a JRuby ext component, which would use the reflective logic. I could not reproduce with exts shipped with JRuby, and they all use our generated "Populator" code. I also fixed a number of discrepancies between the generated populators and the reflective populators for JRuby 9k while looking into pure-invokedynamic method objects. Somewhere in there is a fix we need to backport to 1.7.The text was updated successfully, but these errors were encountered: