New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

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

Comments

Projects
None yet
3 participants
@BanzaiMan
Member

BanzaiMan commented Sep 22, 2016

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

This comment has been minimized.

Show comment
Hide comment
@headius

headius Sep 23, 2016

Member

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 :-)

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

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Sep 24, 2016

Member

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

Member

BanzaiMan commented Sep 24, 2016

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

@headius

This comment has been minimized.

Show comment
Hide comment
@headius

headius Sep 26, 2016

Member

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.

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

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Sep 27, 2016

Member

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

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

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Sep 27, 2016

Member

@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

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

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Sep 27, 2016

Member

It does not happen with -X-C.

Member

eregon commented Sep 27, 2016

It does not happen with -X-C.

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Sep 28, 2016

Member

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

Member

BanzaiMan commented Sep 28, 2016

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

@headius

This comment has been minimized.

Show comment
Hide comment
@headius

headius Nov 8, 2016

Member

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.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment