become_java! / RubyClass.reify regression
-----------------------------------------
Key: JRUBY-5364
URL: http://jira.codehaus.org/browse/JRUBY-5364
Project: JRuby
Issue Type: Bug
Components: Compiler
Affects Versions: JRuby 1.6RC1
Environment: The TorqueBox rspec/arquillian tests executed on OSX
Reporter: bob mcwhirter
With jruby 1.5.6, RubyClass#reify (via become_java!) worked to create bonafide
java classes.
In 1.6.0.RC1 an NPE now results from executing the same code path.
{noformat}
java.lang.NullPointerException
org.jruby.RubyClass.reify(RubyClass.java:1169)
org.jruby.RubyClass.reify(RubyClass.java:1146)
org.jruby.RubyJRuby$JRubyClassExtensions.become_java_bang(RubyJRuby.java:488)
org.jruby.RubyJRuby$JRubyClassExtensions$s_method_0_1$RUBYINVOKER$become_java_bang.call(org/jruby/RubyJRuby$JRubyClassExtensions$s_method_0_1$RUBYINVOKER$become_java_bang.gen:65535)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:626)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:196)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:262)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:105)
org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
{noformat}
The code calling become_java! is within our RSpec/Arquillian integration, which
requires Java classes with static methods that have annotations attached.
We take an RSpec ExampleGroup, synthesize some static methods, annotate, call
become_java! and hand to Arquillian.
Our code is here, line 65 being the code that now fails under 1.6.0.RC1 with
the above NPE:
https://github.com/torquebox/torquebox/blob/master/integration-tests/spec/container.rb
--
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