JRuby HEAD gets NPE when running `bundle install` #4171

Closed
BanzaiMan opened this Issue Sep 22, 2016 · 8 comments

Projects

None yet

3 participants

@BanzaiMan
Member
BanzaiMan commented Sep 22, 2016 edited

Environment

@cc619c0 on Ubuntu Precise

See https://travis-ci.org/travis-ci/travis-rubies/jobs/161991548#L676

With bundle install:

Expected Behavior

With @08deac7

Actual Behavior

  1. NPE
  2. https://travis-ci.org/travis-ci/travis-rubies/jobs/161991548#L676
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/.
Resolving dependencies...
--- ERROR REPORT TEMPLATE -------------------------------------------------------
- What did you do?
  I ran the command `/home/travis/.rvm/gems/jruby-head/bin/bundle install`
- What did you expect to happen?
  I expected Bundler to...
- What happened instead?
  Instead, what happened was...
Error details
    Java::JavaLang::NullPointerException: 
      home.travis.$_dot_rvm.gems.jruby_minus_head.gems.bundler_minus_1_dot_13_dot_1.lib.bundler.resolver.RUBY$block$search_for$0(/home/travis/.rvm/gems/jruby-head/gems/bundler-1.13.1/lib/bundler/resolver.rb:268)
      org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)
      org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:122)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
      org.jruby.runtime.Block.yieldArray(Block.java:179)
      org.jruby.RubyEnumerable$25.call(RubyEnumerable.java:921)
      org.jruby.runtime.CallBlock.doYield(CallBlock.java:82)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:110)
      org.jruby.runtime.Block.yield(Block.java:167)
      org.jruby.RubyArray.each(RubyArray.java:1734)
      org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
      org.jruby.RubyClass.finvoke(RubyClass.java:512)
      org.jruby.runtime.Helpers.invoke(Helpers.java:383)
      org.jruby.RubyEnumerable.callEach(RubyEnumerable.java:102)
      org.jruby.RubyEnumerable.injectCommon(RubyEnumerable.java:917)
      org.jruby.RubyEnumerable.inject(RubyEnumerable.java:938)
      org.jruby.RubyEnumerable$INVOKER$s$inject.call(RubyEnumerable$INVOKER$s$inject.gen)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:171)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:177)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:333)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:161)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:161)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:132)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:148)
      org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:179)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:110)
      org.jruby.runtime.Block.yield(Block.java:167)
      org.jruby.RubyEnumerable$12.yield(RubyEnumerable.java:514)
      org.jruby.runtime.JavaInternalBlockBody.doYield(JavaInternalBlockBody.java:63)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:110)
      org.jruby.runtime.Block.yield(Block.java:167)
      org.jruby.RubyArray.each(RubyArray.java:1734)
      org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
      org.jruby.RubyClass.finvoke(RubyClass.java:512)
      org.jruby.runtime.Helpers.invoke(Helpers.java:383)
      org.jruby.RubyEnumerable.each(RubyEnumerable.java:128)
      org.jruby.RubyEnumerable.sort_by(RubyEnumerable.java:508)
      org.jruby.RubyEnumerable$INVOKER$s$0$0$sort_by.call(RubyEnumerable$INVOKER$s$0$0$sort_by.gen)
      org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:497)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:132)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:148)
      org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:77)
      org.jruby.runtime.Block.yieldSpecific(Block.java:136)
      org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:454)
      org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:74)
      org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:187)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:111)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:205)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:358)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:205)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:358)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:189)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:340)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.RubyClass.finvoke(RubyClass.java:522)
      org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1660)
      org.jruby.RubyBasicObject$INVOKER$i$send19.call(RubyBasicObject$INVOKER$i$send19.gen)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:205)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:358)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.ir.runtime.IRRuntimeHelpers.classSuper(IRRuntimeHelpers.java:987)
      org.jruby.ir.instructions.ClassSuperInstr.interpret(ClassSuperInstr.java:65)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.ir.runtime.IRRuntimeHelpers.classSuper(IRRuntimeHelpers.java:987)
      org.jruby.ir.instructions.ClassSuperInstr.interpret(ClassSuperInstr.java:65)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:205)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:358)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:132)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:148)
      org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:77)
      org.jruby.runtime.Block.yieldSpecific(Block.java:136)
      org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:454)
      org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:74)
      org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:187)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:111)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:112)
      org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:99)
      org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:35)
      org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
      org.jruby.Ruby.runInterpreter(Ruby.java:850)
      org.jruby.Ruby.loadFile(Ruby.java:2980)
      org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:243)
      org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:34)
      org.jruby.runtime.load.LoadService.load(LoadService.java:340)
      org.jruby.RubyKernel.loadCommon(RubyKernel.java:982)
      org.jruby.RubyKernel.load19(RubyKernel.java:974)
      org.jruby.RubyKernel$INVOKER$s$0$1$load19.call(RubyKernel$INVOKER$s$0$1$load19.gen)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:201)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:197)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_EVAL(Interpreter.java:122)
      org.jruby.ir.interpreter.Interpreter.evalCommon(Interpreter.java:177)
      org.jruby.ir.interpreter.Interpreter.evalWithBinding(Interpreter.java:202)
      org.jruby.RubyKernel.evalCommon(RubyKernel.java:1028)
      org.jruby.RubyKernel.eval19(RubyKernel.java:995)
      org.jruby.RubyKernel$INVOKER$s$0$3$eval19.call(RubyKernel$INVOKER$s$0$3$eval19.gen)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:213)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:378)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:227)
      home.travis.$_dot_rvm.gems.jruby_minus_head.bin.jruby_executable_hooks.invokeOther16:eval(/home/travis/.rvm/gems/jruby-head/bin/jruby_executable_hooks:15)
      home.travis.$_dot_rvm.gems.jruby_minus_head.bin.jruby_executable_hooks.RUBY$script(/home/travis/.rvm/gems/jruby-head/bin/jruby_executable_hooks:15)
      java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:599)
      org.jruby.ir.Compiler$1.load(Compiler.java:111)
      org.jruby.Ruby.runScript(Ruby.java:834)
      org.jruby.Ruby.runNormally(Ruby.java:749)
      org.jruby.Ruby.runNormally(Ruby.java:767)
      org.jruby.Ruby.runFromMain(Ruby.java:580)
      org.jruby.Main.doRunFromMain(Main.java:425)
      org.jruby.Main.internalRun(Main.java:313)
      org.jruby.Main.run(Main.java:242)
      org.jruby.Main.main(Main.java:204)
Environment

  Bundler   1.13.1
  Rubygems  2.6.6
  Ruby      2.3.1p0 (2016-09-22 revision 54768) [java]
  GEM_HOME  /home/travis/.rvm/gems/jruby-head
  GEM_PATH  /home/travis/.rvm/gems/jruby-head:/home/travis/.rvm/gems/jruby-head@global
  RVM       1.27.0 (latest)
  Git       1.8.5.6

      Bundler settings

  api
    You have not configured a value for `api`
--- TEMPLATE END ----------------------------------------------------------------
@headius headius added this to the JRuby 9.1.6.0 milestone Sep 23, 2016
@headius
Member
headius commented Sep 23, 2016

Could not reproduce on OS X with a Gemfile generated like travis-rubies does it:

echo "source 'https://rubygems.org'; gem 'sinatra'" > Gemfile
[] ~/projects/travis-ci/travis-rubies $ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Using rack 1.6.4
Using tilt 2.0.5
Using bundler 1.12.5
Installing rack-protection 1.5.3
Installing sinatra 1.4.7
Bundle complete! 1 Gemfile dependency, 5 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

If we could get a backtrace with -Xjit.threshold=0 it would help. If we can reproduce this without being in a Travis env it would also be helpful :-)

@BanzaiMan
Member

@headius Or, I can get you an interactive shell to debug it further. :-) Remind me on Monday!

@headius
Member
headius commented Sep 26, 2016

That would be helpful. I believe @eregon managed to see it too, and I probably know what's causing it, but we have no non-travis runtime.

@eregon
Member
eregon commented Sep 27, 2016

I got it quite reproducible on Travis on the truffle-head branch:
https://travis-ci.org/jruby/jruby/jobs/162834921
https://travis-ci.org/jruby/jruby/jobs/162840211

@eregon
Member
eregon commented Sep 27, 2016

@headius It can reproduce reliably at me on Fedora 22 with the Gemfile you tried.
I also get it with JRUBY_OPTS=-Xjit.threshold=0 bundle install.
https://gist.github.com/eregon/3a269b7a7ce8a3e35ac3b7d5ce550a23

@eregon
Member
eregon commented Sep 27, 2016 edited

It does not happen with -X-C.

@BanzaiMan
Member

Curiously, this happens with 9.0.2.0, but not with 9.0.1.0 or 9.0.3.0.

@headius
Member
headius commented Nov 8, 2016

This is likely the same issue was saw and fixed in IR. The problems are varied, but generally involve optionally-assigned variables (e.g. if a; b = 1; end) not being properly detected as uninitialized by IR. Several fixes are going into this release already, and I believe we have enough covered in those issues to mark this one fixed.

FWIW, it only ever affected master. The optimization pass in question was not shipped in 9.1.5.0.

@headius headius closed this Nov 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment