On 2/28/18 11:52 PM, Charles Oliver Nutter wrote:
Ah-ha...I added some logging, which of course made the error go away...but about ten tests later I got a metaspace OOM.
That makes sense. BTW there's another source of exceptions during MethodHandle construction (e.g., JDK-8086252 [1]):
java.lang.VirtualMachineError: Out of space in CodeCache for adapters
Could be this was all just a memory issue, but it would be nice if the error didn't get swallowed.
It's not swallowed, but wrapped in InternalError before rethrowing. Do you have control over test harness to print the whole exception chain?
Best regards, Vladimir Ivanov [1] https://bugs.openjdk.java.net/browse/JDK-8086252
On Wed, Feb 28, 2018 at 12:40 PM Charles Oliver Nutter <[email protected] <mailto:[email protected]>> wrote:Hey, I'm still not sure how best to deal with this, but we've been consistently getting a similar error at the same place. It has kept JRuby master CI red for many weeks. The problem does not reproduce when running in isolation...only in a long test run, and so far only on Travis CI (Ubuntu 16.something, Java 8u151). Looking at the code, it appears the dropArguments call below (called from MethodHandles.guardWithTest:3018) was replaced with some new code and dropArgumentsToMatch in 9. I have not read through logs to see if that change might be related. Unhandled Java exception: java.lang.InternalError: exactInvoker=Lambda(a0:L/SpeciesData<LL>,a1:L,a2:L)=>{ [exec] t3:L=BoundMethodHandle$Species_LL.argL1(a0:L); [exec] t4:L=MethodHandle.invokeBasic(t3:L); [exec] t5:L=BoundMethodHandle$Species_LL.argL0(a0:L); [exec] t6:V=Invokers.checkExactType(t4:L,t5:L); [exec] t7:V=Invokers.checkCustomized(t4:L); [exec] t8:I=MethodHandle.invokeBasic(t4:L);t8:I} [exec] java.lang.InternalError: exactInvoker=Lambda(a0:L/SpeciesData<LL>,a1:L,a2:L)=>{ [exec] t3:L=BoundMethodHandle$Species_LL.argL1(a0:L); [exec] t4:L=MethodHandle.invokeBasic(t3:L); [exec] t5:L=BoundMethodHandle$Species_LL.argL0(a0:L); [exec] t6:V=Invokers.checkExactType(t4:L,t5:L); [exec] t7:V=Invokers.checkCustomized(t4:L); [exec] t8:I=MethodHandle.invokeBasic(t4:L);t8:I} [exec] newInternalError at java/lang/invoke/MethodHandleStatics.java:127 [exec] compileToBytecode at java/lang/invoke/LambdaForm.java:660 [exec] prepare at java/lang/invoke/LambdaForm.java:635 [exec] <init> at java/lang/invoke/MethodHandle.java:461 [exec] <init> at java/lang/invoke/BoundMethodHandle.java:58 [exec] <init> at java/lang/invoke/Species_LL:-1 [exec] copyWith at java/lang/invoke/Species_LL:-1 [exec] dropArguments at java/lang/invoke/MethodHandles.java:2465 [exec] guardWithTest at java/lang/invoke/MethodHandles.java:3018 [exec] guardWithTest at java/lang/invoke/SwitchPoint.java:173 [exec] searchConst at org/jruby/ir/targets/ConstantLookupSite.java:103 On Fri, Jan 12, 2018 at 9:54 AM Charles Oliver Nutter <[email protected] <mailto:[email protected]>> wrote: I wish I could provide more info here. Just got another one in CI: [exec] [1603/8763] TestBenchmark#test_benchmark_makes_extra_calcultations_with_an_Array_at_the_end_of_the_benchmark_and_show_the_resultUnhandled Java exception: java.lang.BootstrapMethodError: call site initialization exception [exec] java.lang.BootstrapMethodError: call site initialization exception [exec] makeSite at java/lang/invoke/CallSite.java:341 [exec] linkCallSiteImpl at java/lang/invoke/MethodHandleNatives.java:307 [exec] linkCallSite at java/lang/invoke/MethodHandleNatives.java:297 [exec] block in autorun at /home/travis/build/jruby/jruby/test/mri/lib/test/unit.rb:935 [exec] callDirect at org/jruby/runtime/CompiledIRBlockBody.java:151 [exec] call at org/jruby/runtime/IRBlockBody.java:77 [exec] call at org/jruby/runtime/Block.java:124 [exec] call at org/jruby/RubyProc.java:288 [exec] call at org/jruby/RubyProc.java:272 [exec] tearDown at org/jruby/Ruby.java:3276 [exec] tearDown at org/jruby/Ruby.java:3249 [exec] internalRun at org/jruby/Main.java:309 [exec] run at org/jruby/Main.java:232 [exec] main at org/jruby/Main.java:204 [exec] [exec] Caused by: [exec] java.lang.InternalError: BMH.reinvoke=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L,a3:L)=>{ [exec] t4:L=Species_L.argL0(a0:L); [exec] t5:L=MethodHandle.invokeBasic(t4:L,a1:L,a2:L,a3:L);t5:L} [exec] newInternalError at java/lang/invoke/MethodHandleStatics.java:127 [exec] compileToBytecode at java/lang/invoke/LambdaForm.java:660 [exec] prepare at java/lang/invoke/LambdaForm.java:635 [exec] <init> at java/lang/invoke/MethodHandle.java:461 [exec] <init> at java/lang/invoke/BoundMethodHandle.java:58 [exec] <init> at java/lang/invoke/BoundMethodHandle.java:211 [exec] make at java/lang/invoke/BoundMethodHandle.java:224 [exec] makeReinvoker at java/lang/invoke/BoundMethodHandle.java:141 [exec] rebind at java/lang/invoke/DirectMethodHandle.java:130 [exec] insertArguments at java/lang/invoke/MethodHandles.java:2371 [exec] up at com/headius/invokebinder/transform/Insert.java:99 On Tue, Jan 9, 2018 at 12:18 PM Vladimir Ivanov <[email protected] <mailto:[email protected]>> wrote: Thanks, Charlie. Unfortunately, it doesn't give much info without the exception which caused it. jdk/src/share/classes/java/lang/invoke/LambdaForm.java: 659 } catch (Error | Exception ex) { 660 throw newInternalError(this.toString(), ex); 661 } Best regards, Vladimir Ivanov On 1/9/18 9:10 PM, Charles Oliver Nutter wrote: > Unfortunately this just happened in one build, but I thought I'd post it > here for posterity. > > Unhandled Java exception: java.lang.InternalError: identity_L=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L)=>{ > [exec] t3:L=Species_L.argL0(a0:L);t3:L} > [exec] java.lang.InternalError: identity_L=Lambda(a0:L/SpeciesData<L>,a1:L,a2:L)=>{ > [exec] t3:L=Species_L.argL0(a0:L);t3:L} > [exec] newInternalError at java/lang/invoke/MethodHandleStatics.java:127 > [exec] compileToBytecode at java/lang/invoke/LambdaForm.java:660 > [exec] prepare at java/lang/invoke/LambdaForm.java:635 > [exec] <init> at java/lang/invoke/MethodHandle.java:461 > [exec] <init> at java/lang/invoke/BoundMethodHandle.java:58 > [exec] <init> at java/lang/invoke/BoundMethodHandle.java:211 > [exec] copyWith at java/lang/invoke/BoundMethodHandle.java:228 > [exec] dropArguments at java/lang/invoke/MethodHandles.java:2465 > [exec] dropArguments at java/lang/invoke/MethodHandles.java:2535 > [exec] up at com/headius/invokebinder/transform/Drop.java:39 > [exec] invoke at com/headius/invokebinder/Binder.java:1143 > [exec] constant at com/headius/invokebinder/Binder.java:1116 > [exec] searchConst at org/jruby/ir/targets/ConstantLookupSite.java:98 > [exec] block in autorun at /home/travis/build/jruby/jruby/test/mri/lib/test/unit.rb:935 > [exec] callDirect at org/jruby/runtime/CompiledIRBlockBody.java:151 > [exec] call at org/jruby/runtime/IRBlockBody.java:77 > [exec] call at org/jruby/runtime/Block.java:124 > [exec] call at org/jruby/RubyProc.java:288 > [exec] call at org/jruby/RubyProc.java:272 > [exec] tearDown at org/jruby/Ruby.java:3276 > [exec] tearDown at org/jruby/Ruby.java:3249 > [exec] internalRun at org/jruby/Main.java:309 > [exec] run at org/jruby/Main.java:232 > [exec] main at org/jruby/Main.java:204 > > - Charlie > > > > _______________________________________________ > mlvm-dev mailing list > [email protected] <mailto:[email protected]> > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev >--- Charlie (mobile) -- - Charlie (mobile)
_______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
