Skip to content

"Unknown node encountered in builder" error on previously working code #7500

@deivid-rodriguez

Description

@deivid-rodriguez

Environment Information

I'm getting this error since JRuby 9.4.0.0 release.

Expected Behavior

Clone https://github.com/rubygems/rubygems and then run rake setup from the repo root.

You'll get the following:

$ rake setup
nvim RaFetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake 13.0.6
Using uri 0.10.1
Using parallel 1.19.2
Using rdoc 6.2.0
Using webrick 1.7.0
Using power_assert 2.0.1
Using diff-lcs 1.5.0
Using rspec-support 3.12.0
Using parallel_tests 2.32.0
Using test-unit 3.5.3
Using rspec-core 3.12.0
Using rspec-mocks 3.12.0
Using rspec-expectations 3.12.0
Using bundler 2.4.0.dev
Bundle complete! 11 Gemfile dependencies, 14 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/Users/deivid/.asdf/installs/ruby/jruby-9.4.0.0/lib/ruby/gems/shared/gems/rake-13.0.6/lib/rake/task.rb:230: warning: singleton on non-persistent Java type Java::OrgJrubyCompiler::NotCompilableException (https://github.com/jruby/jruby/wiki/Persistence)
rake aborted!
Java::OrgJrubyCompiler::NotCompilableException: Unknown node encountered in builder (EvStrNode - /Users/deivid/Code/rubygems/rubygems/Rakefile:17).
org.jruby.dist/org.jruby.ir.IRBuilder.notCompilable(IRBuilder.java:441)
org.jruby.dist/org.jruby.ir.IRBuilder.buildOperand(IRBuilder.java:543)
org.jruby.dist/org.jruby.ir.IRBuilder.build(IRBuilder.java:572)
org.jruby.dist/org.jruby.ir.IRBuilder.build(IRBuilder.java:560)
org.jruby.dist/org.jruby.ir.IRBuilder.buildWithOrder(IRBuilder.java:642)
org.jruby.dist/org.jruby.ir.IRBuilder.buildCallArgsArrayForSplat(IRBuilder.java:740)
org.jruby.dist/org.jruby.ir.IRBuilder.buildCallArgs(IRBuilder.java:792)
org.jruby.dist/org.jruby.ir.IRBuilder.setupCallArgs(IRBuilder.java:849)
org.jruby.dist/org.jruby.ir.IRBuilder.buildFCall(IRBuilder.java:3531)
org.jruby.dist/org.jruby.ir.IRBuilder.buildOperand(IRBuilder.java:482)
org.jruby.dist/org.jruby.ir.IRBuilder.build(IRBuilder.java:572)
org.jruby.dist/org.jruby.ir.IRBuilder.build(IRBuilder.java:560)
org.jruby.dist/org.jruby.ir.IRBuilder.defineMethodInner(IRBuilder.java:2800)
org.jruby.dist/org.jruby.ir.IRMethod.buildMethodImpl(IRMethod.java:203)
org.jruby.dist/org.jruby.ir.IRMethod.lazilyAcquireInterpreterContext(IRMethod.java:193)
org.jruby.dist/org.jruby.ir.IRMethod.builtInterpreterContext(IRMethod.java:126)
org.jruby.dist/org.jruby.internal.runtime.AbstractIRMethod.retrieveInterpreterContext(AbstractIRMethod.java:138)
org.jruby.dist/org.jruby.internal.runtime.AbstractIRMethod.ensureInstrsReady(AbstractIRMethod.java:131)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:393)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:206)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
org.jruby.dist/org.jruby.runtime.Block.call(Block.java:147)
org.jruby.dist/org.jruby.RubyProc.call(RubyProc.java:338)
org.jruby.dist/org.jruby.RubyProc$INVOKER$i$call.call(RubyProc$INVOKER$i$call.gen)
org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock.call(JavaMethod.java:376)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:393)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:206)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1988)
org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:76)
org.jruby.dist/org.jruby.runtime.Block.yieldSpecific(Block.java:157)
org.jruby.dist/org.jruby.ext.monitor.Monitor.synchronize(Monitor.java:82)
org.jruby.dist/org.jruby.ext.monitor.Monitor$INVOKER$i$0$0$synchronize.call(Monitor$INVOKER$i$0$0$synchronize.gen)
org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:228)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:393)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:206)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:220)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
org.jruby.dist/org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
org.jruby.dist/org.jruby.runtime.Block.yield(Block.java:188)
org.jruby.dist/org.jruby.RubyArray.each(RubyArray.java:1988)
org.jruby.dist/org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:76)
org.jruby.dist/org.jruby.runtime.Block.yieldSpecific(Block.java:157)
org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:497)
org.jruby.dist/org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:80)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:166)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:351)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:346)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
org.jruby.dist/org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
org.jruby.dist/org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:76)
org.jruby.dist/org.jruby.runtime.Block.yieldSpecific(Block.java:157)
org.jruby.dist/org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:497)
org.jruby.dist/org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:80)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:166)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
org.jruby.dist/org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
org.jruby.dist/org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
org.jruby.dist/org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:351)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144)
org.jruby.dist/org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:346)
org.jruby.dist/org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)
org.jruby.dist/org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)
org.jruby.dist/org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
org.jruby.dist/org.jruby.Ruby.runInterpreter(Ruby.java:1290)
org.jruby.dist/org.jruby.Ruby.loadFile(Ruby.java:2944)
org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:925)
org.jruby.dist/org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:883)
org.jruby.dist/org.jruby.runtime.load.LoadService.load(LoadService.java:380)
org.jruby.dist/org.jruby.RubyKernel.loadCommon(RubyKernel.java:1121)
org.jruby.dist/org.jruby.RubyKernel.load(RubyKernel.java:1091)
org.jruby.dist/org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
org.jruby.dist/org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:422)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
org.jruby.dist/org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
Users.deivid.$_dot_asdf.installs.ruby.jruby_minus_9_dot_4_dot_0_dot_0.bin.rake.run(/Users/deivid/.asdf/installs/ruby/jruby-9.4.0.0/bin/rake)
java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
org.jruby.dist/org.jruby.ir.Compiler$1.load(Compiler.java:114)
org.jruby.dist/org.jruby.Ruby.runScript(Ruby.java:1277)
org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1194)
org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1176)
org.jruby.dist/org.jruby.Ruby.runNormally(Ruby.java:1212)
org.jruby.dist/org.jruby.Ruby.runFromMain(Ruby.java:991)
org.jruby.dist/org.jruby.Main.doRunFromMain(Main.java:398)
org.jruby.dist/org.jruby.Main.internalRun(Main.java:282)
org.jruby.dist/org.jruby.Main.run(Main.java:227)
org.jruby.dist/org.jruby.Main.main(Main.java:199)
Tasks: TOP => setup
(See full trace by running task with --trace)

Actual Behavior

Successful setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions