JDK-8215732 : VM crash at c2-compiled Class::getDeclaredMethod
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 13
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2018-12-20
  • Updated: 2023-07-21
  • Resolved: 2023-07-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 12
12Resolved
Related Reports
Duplicate :  
Relates :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f45ec1fd647, pid=25043, tid=25075
#
# JRE version: Java(TM) SE Runtime Environment (13.0) (build 13-internal+0-jdk13-jdk.19)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (13-internal+0-jdk13-jdk.19, mixed mode, tiered, z gc, linux-amd64)
# Problematic frame:
# J 50268 c2 java.lang.Class.getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; java.base@13-internal (63 bytes) @ 0x00007f45ec1fd647 [0x00007f45ec1fd2a0+0x00000000000003a7]
#
# Core dump will be written. Default location: /scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S1330/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/bd5ef331-a549-4
d71-9972-35fd03dc94c1/runs/897e7d03-bd1f-40d2-a0fa-17db5253ec92/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/core.25043
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -XX:MaxRAMPercentage=6 -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+CreateCoredumpOnCrash -XX:-UseCompressedOops --add-opens=java.base/java.net=ALL-UNNAMED -Dseed=4537254830652588 -XX:MaxRAM
Percentage=50 applications.runthese.Runner -duration 30 -runlist /scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S1330/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executo
rs/bd5ef331-a549-4d71-9972-35fd03dc94c1/runs/897e7d03-bd1f-40d2-a0fa-17db5253ec92/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/./RunTheseTestList.dat

Host: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz, 8 cores, 59G, Oracle Linux Server release 7.1
Time: Wed Dec 19 16:06:24 2018 PST elapsed time: 192 seconds (0d 0h 3m 12s)

---------------  T H R E A D  ---------------

Current thread (0x00007f45fc3cd8a0):  JavaThread "RunThese-TestRunner-Thread-2" daemon [_thread_in_Java, id=25075, stack(0x00007f45e06e2000,0x00007f45e07e3000)]

Stack: [0x00007f45e06e2000,0x00007f45e07e3000],  sp=0x00007f45e07e13e0,  free space=1020k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 50268 c2 java.lang.Class.getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; java.base@13-internal (63 bytes) @ 0x00007f45ec1fd647 [0x00007f45ec1fd2a0+0x00000000000003a7]
J 22364 c1 applications.runthese.Runner$TestRunner.runTest(Ljava/lang/String;J)V (471 bytes) @ 0x00007f45e6776d8c [0x00007f45e6774980+0x000000000000240c]
j  applications.runthese.Runner$TestRunner.run()V+104
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@13-internal
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@13-internal
j  java.lang.Thread.run()V+11 java.base@13-internal
v  ~StubRoutines::call_stub
V  [libjvm.so+0x867479]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x3c9
V  [libjvm.so+0x8655bd]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x1cd
V  [libjvm.so+0x910efc]  thread_entry(JavaThread*, Thread*)+0x6c
V  [libjvm.so+0xdc55cd]  JavaThread::thread_main_inner()+0x21d
V  [libjvm.so+0xdc247f]  Thread::call_run()+0x16f
V  [libjvm.so+0xbf12de]  thread_native_entry(Thread*)+0xee

Comments
Yes, it is a duplicate. Looks exactly like the inlined String.equals
07-01-2019

0: 85 d0 test eax,edx 2: 0b 00 or eax,DWORD PTR [rax] 4: 00 48 8b add BYTE PTR [rax-0x75],cl 7: 7b 10 jnp 0x19 9: 49 85 7f 20 test QWORD PTR [r15+0x20],rdi d: 0f 85 d0 0b 00 00 jne 0xbe3 13: 45 85 d2 test r10d,r10d 16: 0f 85 a0 0c 00 00 jne 0xcbc 1c: 44 8b 56 10 mov r10d,DWORD PTR [rsi+0x10] >>>20: 8b 4f 10 mov ecx,DWORD PTR [rdi+0x10] <<< 23: 41 3b ca cmp ecx,r10d 26: 0f 85 c5 0b 00 00 jne 0xbf1 2c: 48 83 c7 18 add rdi,0x18 30: 48 83 c6 18 add rsi,0x18 34: 85 c9 test ecx,ecx 36: 0f 84 a3 00 00 00 je 0xdf
07-01-2019

[~neliasso] Nils, could you pls take a look?
26-12-2018

Crash with -XX:+UseZGC. Can this be duplicate of JDK-8215708?
26-12-2018