Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6.6
-
Fix Version/s: JRuby 1.6.7
-
Component/s: None
-
Labels:None
-
Environment:jruby 1.6.6 (ruby-1.8.7-p357) (2012-01-30 5673572) (Java HotSpot(TM) Server VM 1.7.0_02) [linux-i386-java]
-
Number of attachments :
Description
I am seeing various failures using "bundler install/update" where gems should be installed to local rubygems repo. It seems it can fail in various different ways, but it is reliably failing on jruby 1.6.6 while it works fine on jruby 1.6.5. All of these examples are trying to install json 1.6.5, however it will happen with any gem.
This sounds like it might be related to JRUBY-6400 or JRUBY-6420 and have a common fix, but not sure. Getting the details in as separate issue just in case.
Some examples stack dumps, error messages:
% jruby -S bundle install
Fetching source index for http://rubygems.org/
Using rake (0.9.2.2)
Using bson (1.5.2)
Using builder (3.0.0)
Using hooker (1.0.0)
Using mongo (1.5.2)
Using rjack-slf4j (1.6.4.0)
Using rjack-logback (1.2.1.0)
Installing json (1.6.5)
TypeError: can't convert Hash into String
NameError: uninitialized constant Thor::Task::GemNotFound
const_missing at org/jruby/RubyModule.java:2626
install at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/cli.rb:219
send at org/jruby/RubyKernel.java:2074
run at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/vendor/thor/task.rb:21
invoke_task at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/vendor/thor/invocation.rb:118
dispatch at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/vendor/thor.rb:263
start at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/vendor/thor/base.rb:386
(root) at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/bin/bundle:13
load at org/jruby/RubyKernel.java:1052
(root) at /home/david/bin/jbundle:20
Or:
TypeError: can't convert Bundler::EndpointSpecification into String
Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
NameError: uninitialized constant Thor::Task::GemNotFound
const_missing at org/jruby/RubyModule.java:2626
install at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/lib/bundler/cli.rb:220
send at org/jruby/RubyKernel.java:2074
run at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/task.rb:21
invoke_task at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/invocation.rb:118
dispatch at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor.rb:263
start at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/base.rb:386
(root) at /home/david/.gem/jruby/1.8/gems/bundler-1.1.rc.7/bin/bundle:13
load at org/jruby/RubyKernel.java:1052
(root) at /home/david/bin/jbundle:20
Which you might guess is a bundler bug, however:
jruby -v -S bundle install jruby 1.6.6 (ruby-1.8.7-p357) (2012-01-30 5673572) (Java HotSpot(TM) Server VM 1.7.0_02) [linux-i386-java] Fetching source index for http://rubygems.org/ Using rake (0.9.2.2) Using bson (1.5.2) Using builder (3.0.0) Using hooker (1.0.0) Using mongo (1.5.2) Using rjack-slf4j (1.6.4.0) Using rjack-logback (1.2.1.0) Installing json (1.6.5) Java.java:358:in `getInstance': java.lang.NoClassDefFoundError: Could not initialize class org.jruby.javasupport.JavaClass from JavaUtil.java:165:in `convertJavaToUsableRubyObject' from RuntimeHelpers.java:1029:in `checkJavaException' from RuntimeHelpers.java:1053:in `isJavaExceptionHandled' from RescueNode.java:197:in `handleJavaException' from RescueNode.java:141:in `interpretWithJavaExceptions' from RescueNode.java:110:in `interpret' from BeginNode.java:83:in `interpret' from NewlineNode.java:104:in `interpret' from RootNode.java:129:in `interpret' from ASTInterpreter.java:120:in `INTERPRET_ROOT' from Ruby.java:722:in `runInterpreter' from Ruby.java:2479:in `loadFile' from ExternalScript.java:66:in `load' from LoadService.java:270:in `load' from RubyKernel.java:1070:in `loadCommon' from RubyKernel.java:1052:in `load' from RubyKernel$s$0$1$load.gen:65535:in `call' from DynamicMethod.java:211:in `call' from DynamicMethod.java:207:in `call' from CachingCallSite.java:312:in `cacheAndCall' from CachingCallSite.java:169:in `call' from /home/david/bin/bundle:19:in `__file__' from /home/david/bin/bundle:-1:in `load' from Ruby.java:695:in `runScript' from Ruby.java:688:in `runScript' from Ruby.java:595:in `runNormally' from Ruby.java:444:in `runFromMain' from Main.java:344:in `doRunFromMain' from Main.java:256:in `internalRun' from Main.java:222:in `run' from Main.java:206:in `run' from Main.java:186:in `main'
Or slightly different:
Installing json (1.6.5) JavaUtil.java:165:in `convertJavaToUsableRubyObject': java.lang.NoClassDefFoundError: Could not initialize class org.jruby.javasupport.Java from RuntimeHelpers.java:1029:in `checkJavaException' from RuntimeHelpers.java:1053:in `isJavaExceptionHandled' from RescueNode.java:197:in `handleJavaException' from RescueNode.java:141:in `interpretWithJavaExceptions' from RescueNode.java:110:in `interpret' from BeginNode.java:83:in `interpret' from NewlineNode.java:104:in `interpret' from RootNode.java:129:in `interpret' from ASTInterpreter.java:120:in `INTERPRET_ROOT' from Ruby.java:722:in `runInterpreter' from Ruby.java:2479:in `loadFile' from ExternalScript.java:66:in `load' from LoadService.java:270:in `load' from RubyKernel.java:1070:in `loadCommon' from RubyKernel.java:1052:in `load' from RubyKernel$s$0$1$load.gen:65535:in `call' from DynamicMethod.java:211:in `call' from DynamicMethod.java:207:in `call' from CachingCallSite.java:312:in `cacheAndCall' from CachingCallSite.java:169:in `call' from /home/david/bin/bundle:19:in `__file__' from /home/david/bin/bundle:-1:in `load' from Ruby.java:695:in `runScript' from Ruby.java:688:in `runScript' from Ruby.java:595:in `runNormally' from Ruby.java:444:in `runFromMain' from Main.java:344:in `doRunFromMain' from Main.java:256:in `internalRun' from Main.java:222:in `run' from Main.java:206:in `run' from Main.java:186:in `main'
Also this one:
Exception `LoadError' at /opt/dist/jruby-1.6.6/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55 - load error: builtin/javasupport -- java.lang.StackOverflowError: null .... #<Class:0x16ecd2b>: Exception `Bundler::InstallError' at /home/david/.gem/jruby/1.8/gems/bundler-1.0.21/lib/bundler/installer.rb:80 - An error occured while installing json (1.6.5), and Bundler cannot continue.
Wow, a real combo platter. Thanks for this. Hopefully we get these resolved soon and get 1.6.7 out there.