Open JasonFengJ9 opened 2 years ago
The location of the crash is somewhere in bytecodeLoopFull()
.
98880: 91400821 add x1, x1, #0x2, lsl #12
98884: 9278de73 and x19, x19, #0xffffffffffffff00
98888: 394e2821 ldrb w1, [x1, #906]
9888c: f8736814 ldr x20, [x0, x19] <- This instruction
98890: f901c7b4 str x20, [x29, #904]
98894: 360735c1 tbz w1, #0, 96f4c <bytecodeLoopFull+0x6a4>
The crash happened at java/lang/invoke/MethodHandle.<init>
.
1XMCURTHDINFO Current thread
3XMTHREADINFO "MainThread" J9VMThread:0x0000FFFFAC3E7200, omrthread_t:0x0000FFFFAC35B220, java/lang/Thread:0x0000FFFF8C058958, state:R, prio=5
3XMJAVALTHREAD (java/lang/Thread getId:0x18, isDaemon:false)
3XMJAVALTHRCCL sun/misc/Launcher$AppClassLoader(0x0000FFFF8C0414E0)
3XMTHREADINFO1 (native thread ID:0x7DAF, native priority:0x5, native policy:UNKNOWN, vmstate:R, vm thread flags:0x00000020)
3XMTHREADINFO2 (native stack address range from:0x0000FFFF78C4A000, to:0x0000FFFF78C8A000, size:0x40000)
3XMCPUTIME CPU usage total: 12.318895305 secs, current category="Application"
3XMHEAPALLOC Heap bytes allocated since last GC cycle=7130208 (0x6CCC60)
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at java/lang/invoke/MethodHandle.<init>(MethodHandle.java:223)
4XESTACKTRACE at java/lang/invoke/PrimitiveHandle.<init>(PrimitiveHandle.java:60)
4XESTACKTRACE at java/lang/invoke/DirectHandle.<init>(DirectHandle.java:80)
4XESTACKTRACE at java/lang/invoke/ReceiverBoundHandle.<init>(ReceiverBoundHandle.java:49)
4XESTACKTRACE at java/lang/invoke/MethodHandle.bindTo(MethodHandle.java:632)
4XESTACKTRACE at java/lang/invoke/MethodHandles$Lookup.bind(MethodHandles.java:224(Compiled Code))
4XESTACKTRACE at java/lang/invoke/IndirectHandle.bindTo(IndirectHandle.java:102(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/TestCase.<init>(CatchExceptionTest.java:393(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/TestCase.lambda$null$2(CatchExceptionTest.java:428(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/TestCase$$Lambda$10/0x0000000000000000.get(Bytecode PC:16(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/TestFactory.createTest(CatchExceptionTest.java:295(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/TestFactory.nextTest(CatchExceptionTest.java:259(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/CatchExceptionTest.lambda$test$0(CatchExceptionTest.java:106(Compiled Code))
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/CatchExceptionTest$$Lambda$14/0x0000000000000000.call(Bytecode PC:4(Compiled Code))
4XESTACKTRACE at jdk/testlibrary/TimeLimitedRunner.call(TimeLimitedRunner.java:71)
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/CatchExceptionTest.test(CatchExceptionTest.java:116)
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/CatchExceptionTest$$Lambda$1/0x0000000000000000.run(Bytecode PC:0)
4XESTACKTRACE at com/oracle/testlibrary/jsr292/CodeCacheOverflowProcessor$$Lambda$2/0x0000000000000000.run(Bytecode PC:6)
4XESTACKTRACE at jdk/testlibrary/Utils.filterException(Utils.java:368)
4XESTACKTRACE at com/oracle/testlibrary/jsr292/CodeCacheOverflowProcessor.runMHTest(CodeCacheOverflowProcessor.java:70)
4XESTACKTRACE at test/java/lang/invoke/MethodHandles/CatchExceptionTest.main(CatchExceptionTest.java:95)
4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:498)
4XESTACKTRACE at com/sun/javatest/regtest/agent/MainWrapper$MainThread.run(MainWrapper.java:127)
4XESTACKTRACE at java/lang/Thread.run(Thread.java:822)
3XMTHREADINFO3 Native callstack:
4XENATIVESTACK protectedBacktrace+0x18 (0x0000FFFFB1A3E3E8 [libj9prt29.so+0x263e8])
It seems that this
object is at stack. Possibly, this stack allocated object somehow escaped?
<ffffac3e7200> *** BEGIN STACK WALK, flags = 00400001 walkThread = 0x0000FFFFAC3E7200 ***
<ffffac3e7200> ITERATE_O_SLOTS
<ffffac3e7200> RECORD_BYTECODE_PC_OFFSET
<ffffac3e7200> Initial values: walkSP = 0x0000FFFF14035700, PC = 0x0000FFFF414818B3, literals = 0x0000FFFFAC273498, A0 = 0x0000FFFF14035758, j2iFrame = 0x0000FFFF140358A0, ELS = 0x0000FFFF78C88100, decomp = 0x0000000000000000
<ffffac3e7200> Bytecode frame: bp = 0x0000FFFF14035728, sp = 0x0000FFFF14035700, pc = 0x0000FFFF414818B3, cp = 0x0000FFFFAC2728F0, arg0EA = 0x0000FFFF14035758, flags = 0x0000000000000000
<ffffac3e7200> Method: java/lang/invoke/MethodHandle.<init>(Ljava/lang/invoke/MethodType;BLjava/lang/Object;)V !j9method 0x0000FFFFAC273498
<ffffac3e7200> Bytecode index = 35
<ffffac3e7200> Using local mapper
<ffffac3e7200> Locals starting at 0x0000FFFF14035758 for 0x0000000000000006 slots
<ffffac3e7200> O-Slot: a0[0x0000FFFF14035758] = 0x0000FFFF14035738 <—————— this
<ffffac3e7200> I-Slot: a1[0x0000FFFF14035750] = 0x0000FFFF8C038AB0
<ffffac3e7200> I-Slot: a2[0x0000FFFF14035748] = 0x0000000000000000
<ffffac3e7200> I-Slot: a3[0x0000FFFF14035740] = 0x0000000000000000
<ffffac3e7200> I-Slot: t4[0x0000FFFF14035738] = 0x0000000000000000
<ffffac3e7200> I-Slot: t5[0x0000FFFF14035730] = 0x0000000000000000
<ffffac3e7200> Pending stack starting at 0x0000FFFF14035710 for UDATA(0x0000000000000003) slots
<ffffac3e7200> O-Slot: p0[0x0000FFFF14035710] = 0x0000FFFF14035738
<ffffac3e7200> O-Slot: p1[0x0000FFFF14035708] = 0x0000FFFF14035738
<ffffac3e7200> O-Slot: p2[0x0000FFFF14035700] = 0x0000000000000000
Another one in https://github.com/eclipse-openj9/openj9/issues/15797
I ran jdk_lang_1 with JDK 8 on AArch64 Linux 30 times, and got no failures. https://openj9-jenkins.osuosl.org/job/Grinder/1313/
https://openj9-jenkins.osuosl.org/job/Test_openjdk8_j9_sanity.openjdk_x86-64_linux_Nightly/539 jdk_lang_j9_0 java/lang/invoke/MethodHandles/CatchExceptionTest.java
21:44:56 Unhandled exception
21:44:56 Type=Segmentation error vmState=0x00000000
21:44:56 J9Generic_Signal_Number=00000018 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000001
21:44:56 Handler1=00007F3BCD57CDE0 Handler2=00007F3BCD2D8B00 InaccessibleAddress=00000000000001E8
21:44:56 RDI=00007F3B54DD0600 RSI=00007F3BC83AC700 RAX=00000000000001E8 RBX=00007F3B54DD0600
21:44:56 RCX=00007F3B54DD0630 RDX=00007F3B3C00BC50 R8=000000000005FD2F R9=0000000000000000
21:44:56 R10=00000000647A9AFF R11=0000000000000000 R12=0000000000000000 R13=00007F3BC82B6198
21:44:56 R14=00007F3B3C00BC10 R15=00007F3B55481B1B
21:44:56 RIP=00007F3BCD5ED494 GS=0000 FS=0000 RSP=00007F3B54DD0290
21:44:56 EFlags=0000000000010246 CS=0033 RBP=00007F3B54DD0870 ERR=0000000000000004
21:44:56 TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=00000000000001E8
21:44:56 xmm0 0000000000000004 (f: 4.000000, d: 1.976263e-323)
21:44:56 xmm1 00007f3ba1792720 (f: 2709071616.000000, d: 6.911686e-310)
21:44:56 xmm2 00007f3b54dd0630 (f: 1423771136.000000, d: 6.911623e-310)
21:44:56 xmm3 00007f3b8e9424fb (f: 2392073472.000000, d: 6.911671e-310)
21:44:56 xmm4 00007f3ba35f9570 (f: 2740950272.000000, d: 6.911688e-310)
21:44:56 xmm5 00007f3b554bf4f3 (f: 1431041280.000000, d: 6.911623e-310)
21:44:56 xmm6 00007f3ba35f9480 (f: 2740950016.000000, d: 6.911688e-310)
21:44:56 xmm7 00007f3ba35f94a0 (f: 2740950272.000000, d: 6.911688e-310)
21:44:56 xmm8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 xmm9 00007f3ba1792720 (f: 2709071616.000000, d: 6.911686e-310)
21:44:56 xmm10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 xmm11 ffffffffffffffff (f: 4294967296.000000, d: -nan)
21:44:56 xmm12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 xmm13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 xmm14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
21:44:56 Module=/home/jenkins/workspace/Test_openjdk8_j9_sanity.openjdk_x86-64_linux_Nightly/openjdkbinary/j2sdk-image/jre/lib/amd64/default/libj9vm29.so
21:44:56 Module_base_address=00007F3BCD53E000
21:44:56 Target=2_90_20230602_569 (Linux 3.10.0-1160.88.1.el7.x86_64)
21:44:56 CPU=amd64 (4 logical CPUs) (0x1e8cbe000 RAM)
21:44:56 ----------- Stack Backtrace -----------
21:44:56 _ZN26VM_BytecodeInterpreterFull3runEP10J9VMThread+0x8844 (0x00007F3BCD5ED494 [libj9vm29.so+0xaf494])
21:44:56 bytecodeLoopFull+0xc9 (0x00007F3BCD5E4C39 [libj9vm29.so+0xa6c39])
21:44:56 (0x00007F3BCD674FD2 [libj9vm29.so+0x136fd2])
21:44:56 ---------------------------------------
https://openj9-jenkins.osuosl.org/job/Test_openjdk8_j9_sanity.openjdk_x86-64_linux_Nightly_testList_1/33/ jdk_lang_1 java/lang/invoke/MethodHandles/CatchExceptionTest.java
23:11:38 *** Invalid JIT return address 00007F9E00000000 in 00007F9E67351BB0
23:11:38
23:11:38 03:09:35.896 0x7f9ec033d100 j9vm.249 * ** ASSERTION FAILED ** at /home/jenkins/workspace/Build_JDK8_x86-64_linux_Nightly/openj9/runtime/vm/swalk.c:1632: ((0 ))
Failure link
From an internal build
job/Test_openjdk8_j9_sanity.openjdk_aarch64_linux_testList_1/128/
(ub18-aarch64-2
):Rerun in Grinder - Change TARGET to run only the failed test targets.
Optional info
Failure output (captured from console output)
50x grinder -
job/Grinder/23473/
- all passedA similar failure was reported a while ago - https://github.com/eclipse-openj9/openj9/issues/9272