-
-
Notifications
You must be signed in to change notification settings - Fork 942
Closed
Milestone
Description
Environment Information
Provide at least:
- JRuby version 9.4.0.0 compiled from the latest commit as of now - 52ede67
- Operating system and platform (e.g.
uname -a) - Arch Linux, JDK 18.0.2
Other relevant info you may wish to add:
- Installed or activated gems - check the stack-trace
Expected Behavior
My tests to run fine
Actual Behavior
My tests throw an exception:
Java::JavaLang::RuntimeException:
IR compiler/interpreter bug: org.jruby.ir.operands.UndefinedValue should not be used as a valid value during execution.
# org.jruby.ir.operands.UndefinedValue.undefinedOperation(UndefinedValue.java:58)
# org.jruby.ir.operands.UndefinedValue.convertToHash(UndefinedValue.java:179)
# org.jruby.RubyHash.replace(RubyHash.java:2150)
# org.jruby.RubyHash.initialize_copy(RubyHash.java:2135)
# uri_3a_classloader_3a_.jruby.kernel.kernel.RUBY$method$initialize_dup$0(uri:classloader:/jruby/kernel/kernel.rb:9)
# org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:173)
# org.jruby.RubyBasicObject.dup(RubyBasicObject.java:842)
# org.jruby.RubyHash.merge(RubyHash.java:2130)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.interactions.pointer_move.RUBY$method$encode$0(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/interactions/pointer_move.rb:51)
# org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:142)
# org.jruby.RubySymbol$SymbolProcBody.yieldSpecific(RubySymbol.java:1527)
# org.jruby.RubySymbol$SymbolProcBody.doYield(RubySymbol.java:1520)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
# org.jruby.runtime.Block.yieldNonArray(Block.java:224)
# org.jruby.RubyArray.collectArray(RubyArray.java:2778)
# org.jruby.RubyArray.map(RubyArray.java:2812)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.interactions.input_device.RUBY$method$encode$0(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/interactions/input_device.rb:55)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.interactions.input_device.RUBY$method$encode$0$__VARARGS__(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/interactions/input_device.rb:54)
# org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
# org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:1298)
# org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:1271)
# org.jruby.ir.targets.indy.InstanceSuperInvokeSite.invoke(InstanceSuperInvokeSite.java:29)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.interactions.pointer_input.RUBY$method$encode$0(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/interactions/pointer_input.rb:41)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.interactions.pointer_input.RUBY$method$encode$0$__VARARGS__(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/interactions/pointer_input.rb:40)
# org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:85)
# org.jruby.RubySymbol$SymbolProcBody.yieldInner(RubySymbol.java:1499)
# org.jruby.RubySymbol$SymbolProcBody.doYield(RubySymbol.java:1514)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
# org.jruby.runtime.Block.yield(Block.java:188)
# org.jruby.RubyEnumerable$20.call(RubyEnumerable.java:885)
# org.jruby.runtime.CallBlock19.doYield(CallBlock19.java:98)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
# org.jruby.runtime.Block.yield(Block.java:188)
# org.jruby.RubyArray.each(RubyArray.java:1988)
# org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:362)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:154)
# org.jruby.RubyEnumerable.filter_map(RubyEnumerable.java:868)
# build.$_dot_gems.gems.selenium_minus_webdriver_minus_4_dot_6_dot_1.lib.selenium.webdriver.common.action_builder.RUBY$method$perform$0(build/.gems/gems/selenium-webdriver-4.6.1/lib/selenium/webdriver/common/action_builder.rb:238)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.selenium.node.RUBY$block$hover$1(build/.gems/gems/capybara-3.38.0/lib/capybara/selenium/node.rb:162)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.selenium.node.RUBY$method$scroll_if_needed$0(build/.gems/gems/capybara-3.38.0/lib/capybara/selenium/node.rb:233)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.selenium.node.RUBY$method$hover$0(build/.gems/gems/capybara-3.38.0/lib/capybara/selenium/node.rb:162)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.node.element.RUBY$block$hover$1(build/.gems/gems/capybara-3.38.0/lib/capybara/node/element.rb:285)
# org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
# org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:72)
# org.jruby.runtime.Block.yieldSpecific(Block.java:157)
# org.jruby.ir.targets.indy.YieldSite.yieldSpecific(YieldSite.java:161)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.node.base.RUBY$method$synchronize$0(build/.gems/gems/capybara-3.38.0/lib/capybara/node/base.rb:84)
# build.$_dot_gems.gems.capybara_minus_3_dot_38_dot_0.lib.capybara.node.element.RUBY$method$hover$0(build/.gems/gems/capybara-3.38.0/lib/capybara/node/element.rb:285)
# org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:152)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:148)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:351)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:346)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
# org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
# org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:177)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
# org.jruby.runtime.Block.yieldNonArray(Block.java:224)
# org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1724)
# org.jruby.RubyBasicObject.instance_exec(RubyBasicObject.java:2593)
# org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:222)
# org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:278)
# org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
# org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:111)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
# org.jruby.runtime.Block.yieldNonArray(Block.java:224)
# org.jruby.specialized.RubyArrayTwoObject.collectArray(RubyArrayTwoObject.java:361)
# org.jruby.RubyArray.map(RubyArray.java:2812)
# org.jruby.RubyArray$INVOKER$i$0$0$map.call(RubyArray$INVOKER$i$0$0$map.gen)
# org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:85)
# org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
# org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
# org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
# org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:177)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
# org.jruby.runtime.Block.yieldNonArray(Block.java:224)
# org.jruby.RubyArray.collectArray(RubyArray.java:2778)
# org.jruby.RubyArray.map(RubyArray.java:2812)
# org.jruby.RubyArray$INVOKER$i$0$0$map.call(RubyArray$INVOKER$i$0$0$map.gen)
# org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
# org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
# org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
# org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
# org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:76)
# org.jruby.runtime.Block.yieldSpecific(Block.java:157)
# org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:502)
# org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:80)
# org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:166)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
# org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94)
# org.jruby.ir.instructions.CallBase.interpret(CallBase.java:558)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)
# org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136)
# org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
# org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
# org.jruby.runtime.Block.yield(Block.java:188)
# org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:497)
# org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:92)
# org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:166)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:383)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:185)
# org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:192)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:337)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:372)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:175)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:226)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:393)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:206)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)
# org.jruby.ir.instructions.CallBase.interpret(CallBase.java:561)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:363)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:76)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
# org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
# org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:351)
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144)
# org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:346)
# org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
# org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)
# org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)
# org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)
# org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
# org.jruby.Ruby.runInterpreter(Ruby.java:1280)
# org.jruby.Ruby.loadFile(Ruby.java:2917)
# org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:937)
# org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:895)
# org.jruby.runtime.load.LoadService.load(LoadService.java:364)
# org.jruby.RubyKernel.loadCommon(RubyKernel.java:1117)
# org.jruby.RubyKernel.load(RubyKernel.java:1087)
# org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
# org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoBlock.call(JavaMethod.java:690)
# org.jruby.ir.targets.indy.InvokeSite.invoke(InvokeSite.java:208)
# java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:731)
# org.jruby.ir.Compiler$1.load(Compiler.java:114)
# org.jruby.Ruby.runScript(Ruby.java:1267)
# org.jruby.Ruby.runNormally(Ruby.java:1184)
# org.jruby.Ruby.runNormally(Ruby.java:1166)
# org.jruby.Ruby.runNormally(Ruby.java:1202)
# org.jruby.Ruby.runFromMain(Ruby.java:981)
# org.jruby.Main.doRunFromMain(Main.java:398)
# org.jruby.Main.internalRun(Main.java:282)
# org.jruby.Main.run(Main.java:227)
# org.jruby.Main.main(Main.java:199)
I can't give you anything more than the stacktrace for now. If you need a reproduction, it will be later. I hope the stacktrace might help you figure out what's wrong. Also, this doesn't happen when I build JRuby with commit 27e5db8 - that's what I've been using until now and it works fine.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels