Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.1, JRuby 1.1.1, JRuby 1.1.2, JRuby 1.1.3, JRuby 1.1.4
-
Fix Version/s: JRuby 1.2
-
Component/s: Embedding, IBM/Other VM
-
Labels:None
-
Environment:HideTested on Linux and AIX
IBM JDK info (download 32-bit xSeries (Intel compatible) jdk here https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=sdk5&S_PKG=intel5sr8a&S_TACT=105AGX05&S_CMP=JDK):
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32devifx-20080811b (SR8a))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223ifx-20080811 (JIT enabled)
J9VM - 20080809_21892_lHdSMr
JIT - 20080620_1845_r8
GC - 200806_19)
JCL - 20080811a
ShowTested on Linux and AIX IBM JDK info (download 32-bit xSeries (Intel compatible) jdk here https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=sdk5&S_PKG=intel5sr8a&S_TACT=105AGX05&S_CMP=JDK): Java(TM) 2 Runtime Environment, Standard Edition (build pxi32devifx-20080811b (SR8a)) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223ifx-20080811 (JIT enabled) J9VM - 20080809_21892_lHdSMr JIT - 20080620_1845_r8 GC - 200806_19) JCL - 20080811a
-
Testcase included:yes
-
Number of attachments :
Description
I've been trying to get the JRuby scripting engine loading up on the IBM JDK... its not working so good. All the other scripting engines load up fine on IBM's JDK. I've also tested this on Sun's JDK and JRuby loaded fine.
My attached test app (run with 'mvn clean install') spits out the following info in the test case surefire report:
-------------------------------------------------------------------------------
Test set: org.jrubytest.JRubyTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.175 sec <<< FAILURE!
testLoadingScriptingLanguages(org.jrubytest.JRubyTest) Time elapsed: 2.121 sec <<< ERROR!
file:/home/janstey/.m2/repository/org/jruby/jruby/1.1.4/jruby-1.1.4.jar!/builtin/javasupport.rb:47:in `require': IO error – builtin/java/regex (LoadError)
from file:/home/janstey/.m2/repository/org/jruby/jruby/1.1.4/jruby-1.1.4.jar!/builtin/javasupport.rb:47
from file:/home/janstey/.m2/repository/org/jruby/jruby/1.1.4/jruby-1.1.4.jar!/builtin/javasupport.rb:1
...internal jruby stack elided...
from Kernel.require(file:/home/janstey/.m2/repository/org/jruby/jruby/1.1.4/jruby-1.1.4.jar!/builtin/javasupport.rb:47)
from (unknown).(unknown)(file:/home/janstey/.m2/repository/org/jruby/jruby/1.1.4/jruby-1.1.4.jar!/builtin/javasupport.rb:1)
from (unknown).(unknown)(:1)
The builtin/java/regex is indeed in the jar so I'm not sure why it isn't loading. Anyone have any ideas?
Hmm... it appears the servicemix-scripting component of Apache ServiceMix has a similar error on the IBM JDK
Caused by: org.jruby.exceptions.RaiseException: IO error – builtin/java/regex
Caused by: java.lang.AssertionError: CANON_EQ is not interned
at org.jruby.RubyModule.fastGetConstantAt(RubyModule.java:2326)
at org.jruby.javasupport.JavaClass$ConstantField.install(JavaClass.java:431)
at org.jruby.javasupport.JavaClass.setupProxy(JavaClass.java:689)
at org.jruby.javasupport.Java.createProxyClass(Java.java:533)
at org.jruby.javasupport.Java.getProxyClass(Java.java:487)
at org.jruby.javasupport.Java.get_proxy_class(Java.java:518)
at org.jruby.javasupport.Java$2.defineClassUnder(Java.java:240)
at org.jruby.RubyModule.searchProvidersForClass(RubyModule.java:274)
at org.jruby.RubyModule.defineOrGetClassUnder(RubyModule.java:1074)
at org.jruby.evaluator.ASTInterpreter.classNode(ASTInterpreter.java:783)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:328)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:620)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:318)
at org.jruby.evaluator.ASTInterpreter.rootNode(ASTInterpreter.java:1654)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:474)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:170)
at org.jruby.Ruby.loadFile(Ruby.java:2001)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:58)
at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:320)
at org.jruby.runtime.load.LoadService.require(LoadService.java:346)
at org.jruby.RubyKernel.require(RubyKernel.java:770)
at org.jruby.RubyKernelInvoker$require_s_method_1_0.call(Unknown Source)
at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneBlock.call(JavaMethod.java:397)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:78)
at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:155)
at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:332)
at org.jruby.evaluator.ASTInterpreter.fCallNode(ASTInterpreter.java:1116)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:370)
at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:620)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:318)
at org.jruby.evaluator.ASTInterpreter.rootNode(ASTInterpreter.java:1654)
at org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:474)
at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:170)
at org.jruby.Ruby.loadFile(Ruby.java:2001)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:58)
at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:320)
at org.jruby.javasupport.Java.load(Java.java:88)
at org.jruby.ext.LateLoadingLibrary.load(LateLoadingLibrary.java:55)
at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:320)
at org.jruby.runtime.load.LoadService.require(LoadService.java:346)
at com.sun.script.jruby.JRubyScriptEngine.init(JRubyScriptEngine.java:484)
at com.sun.script.jruby.JRubyScriptEngine.<init>(JRubyScriptEngine.java:96)
at com.sun.script.jruby.JRubyScriptEngineFactory.getScriptEngine(JRubyScriptEngineFactory.java:134)
at javax.script.ScriptEngineManager.getEngineByExtension(ScriptEngineManager.java:144)
at org.apache.servicemix.scripting.ScriptingEndpoint.start(ScriptingEndpoint.java:375)
The full log is here:
http://people.apache.org/~janstey/temp/org.apache.servicemix.scripting.ScriptingComponentTest.txt