eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 721 forks source link

Assertion failure at omr/compiler/runtime/OMRCodeCache.cpp:536: _reserved #17805

Open dylanjtuttle opened 1 year ago

dylanjtuttle commented 1 year ago

The assertion at

/home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/runtime/OMRCodeCache.cpp:536: _reserved

failed during sanity.functional test cases testJITServer_2 and testJitserverArguments_0 on ppc64le_linux for Java 11.

Link to the Jenkins job.

Stack trace:

===============================================
===============================================
testJITServer_2 Start Time: Fri Jul 14 21:23:35 2023 Epoch Time (ms): 1689369815153
variation: Mode610 -Xshareclasses:name=test_jitscc -XX:+JITServerUseAOTCache
JVM_OPTIONS:  -Xcompressedrefs -Xjit -Xgcpolicy:gencon -Xshareclasses:name=test_jitscc -XX:+JITServerUseAOTCache 

TEST SETUP:
JVMSHRC005I No shared class caches available
JVMSHRC005I No shared class caches available
cache cleanup done

TESTING:
[IncludeExcludeTestAnnotationTransformer] [INFO] EXCLUDE_FILE environment variable: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../TestConfig/resources/excludes/latest_exclude_11.txt
[IncludeExcludeTestAnnotationTransformer] [INFO] Processing exclude file: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../TestConfig/resources/excludes/latest_exclude_11.txt
...
... TestNG 6.14.2 by Cédric Beust (cedric@beust.com)
...

[JITServerTest] [INFO] running testServer: INFO and above level logging enabled
[JITServerTest] [INFO] Chose random port for server: -XX:JITServerPort=54727, set JITServerTest_SERVER_PORT in your env to override.
[JITServerTest] [INFO] Starting server with command line:
/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/bin/jitserver -XX:JITServerPort=54727 -XX:+JITServerUseAOTCache
[JITServerTest] [INFO] With stdout/stderr redirected to:
/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/testServer.server.out
[JITServerTest] [INFO] Starting client with command line:
/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/bin/java -XX:JITServerPort=54727 -XX:+UseJITServer -Xcompressedrefs -Xjit -Xgcpolicy:gencon -Xshareclasses:name=test_jitscc -XX:+JITServerUseAOTCache -cp /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/TestConfig/resources:/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../TKG/lib/testng.jar:/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../TKG/lib/jcommander.jar:/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/functional/JIT_Test/jitt.jar "-DjarTesterArgs=-loopforever /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/functional/JIT_Test/jitt.jar" org.testng.TestNG -d /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../TKG/output_16893621424238/testJITServer_2/client /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/functional/JIT_Test/testng.xml -testnames JarTesterTest -groups level.sanity -excludegroups d.*.linux_ppc-64_le,d.*.arch.ppc,d.*.os.linux,d.*.bits.64,d.*.generic-all
[JITServerTest] [INFO] With stdout/stderr redirected to:
/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/testServer.client.out
Failed to properly start client, it terminated prematurely with exit value: 255
Dumping the contents of log file: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/testServer.client.out
////////////////////////////////////////////////////////////////////////
//// Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/runtime/OMRCodeCache.cpp:536: _reserved
//// VMState: 0x0005ffff
////    CodeCache 0x7d2ca4177b90 is not reserved when calling reservedResolvedTrampoline
//// 
//// compiling java/lang/invoke/DirectHandle.invokeExact_thunkArchetype_I(Ljava/lang/Object;IILjava/lang/Object;)I at level: warm
//// #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef500) [0x7d2ca32ff500]
//// #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02ffc) [0x7d2ca3312ffc]
//// #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afc38) [0x7d2ca2ebfc38]
//// #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7affa4) [0x7d2ca2ebffa4]
//// #4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc2b6fc) [0x7d2ca333b6fc]
//// #5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1cd0e4) [0x7d2ca28dd0e4]
//// #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17f3ec) [0x7d2ca288f3ec]
//// #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x180724) [0x7d2ca2890724]
//// #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7d2ca84ce848]
//// #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17d3f4) [0x7d2ca288d3f4]
//// #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17dbe0) [0x7d2ca288dbe0]
//// #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17be9c) [0x7d2ca288be9c]
//// #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c758) [0x7d2ca288c758]
//// #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c81c) [0x7d2ca288c81c]
//// #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7d2ca84ce848]
//// #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17ce34) [0x7d2ca288ce34]
//// #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x113e8) [0x7d2ca84613e8]
//// #17: /lib/powerpc64le-linux-gnu/libc.so.6(+0xb5804) [0x7d2ca8ed5804]
//// 
//// JIT: crashed while compiling java/lang/invoke/DirectHandle.invokeExact_thunkArchetype_I(Ljava/lang/Object;IILjava/lang/Object;)I (recoverable 0)
//// #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef500) [0x7d2ca32ff500]
//// #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02ffc) [0x7d2ca3312ffc]
//// #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1626d8) [0x7d2ca28726d8]
//// #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3d6a0) [0x7d2ca84cd6a0]
//// #4: function __kernel_sigtramp_rt64+0 [0]
//// Unhandled exception
//// Type=Unhandled trap vmState=0x0005ffff
//// J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
//// Handler1=00007D2CA85A4A10 Handler2=00007D2CA84CD440
//// R0=00000000000000FA R1=00007D2C86E494B0 R2=00007D2CA90A6E00 R3=0000000000000000
//// R4=0000000000231AA3 R5=0000000000000005 R6=000000000000004F R7=000000000000004E
//// R8=FFFFFFFFFEFF0000 R9=0000000000000000 R10=0000000000000000 R11=0000000000000000
//// R12=0000000000000000 R13=00007D2C86E568E0 R14=00007D2CA37A4170 R15=00000000001039A0
//// R16=00007D2C86E49AB0 R17=00007D2C859F0050 R18=00007D2C86B41558 R19=00007D2C85B98F38
//// R20=00007D2C800087F0 R21=00007D2C8000BE50 R22=00007D2C8000BE50 R23=00007D2C800098C0
//// R24=00007D2C8000BE48 R25=00007D2CA431C828 R26=00000000000B1600 R27=00007D2C8000BE68
//// R28=0000000000000005 R29=00007D2CA359BC48 R30=00007D2C86E4F0A0 R31=0000000000231AA3
//// NIP=00007D2CA8ED869C MSR=800000000280D033 ORIG_GPR3=0000000000231AA0 CTR=0000000000000000
//// LINK=0000000000000000 XER=0000000000000000 CCR=0000000044042402 SOFTE=0000000000000001
//// TRAP=0000000000003000 DAR=00007FFFD10273C8 dsisr=0000000040000000 RESULT=0000000000000000
//// FPR0 0000000000000080 (f: 128.000000, d: 6.324040e-322)
//// FPR1 401c000000000000 (f: 0.000000, d: 7.000000e+00)
//// FPR2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR3 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR5 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR6 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR7 ffffffff00000002 (f: 2.000000, d: -nan)
//// FPR8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR10 7ff0000000000000 (f: 0.000000, d: inf)
//// FPR11 401c000000000000 (f: 0.000000, d: 7.000000e+00)
//// FPR12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR13 00007d2ca8189530 (f: 2820183296.000000, d: 6.799863e-310)
//// FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
//// Module=/lib/powerpc64le-linux-gnu/libc.so.6
//// Module_base_address=00007D2CA8E20000 Symbol=pthread_kill
//// Symbol_address=00007D2CA8ED8510
//// 
//// Method_being_compiled=java/lang/invoke/DirectHandle.invokeExact_thunkArchetype_I(Ljava/lang/Object;I)I
//// Target=2_90_20230714_1594 (Linux 5.15.0-76-generic)
//// CPU=ppc64le (32 logical CPUs) (0x1f92b0000 RAM)
//// ----------- Stack Backtrace -----------
//// protectedBacktrace+0x24 (0x00007D2CA84C7484 [libj9prt29.so+0x37484])
//// omrsig_protect+0x358 (0x00007D2CA84CE848 [libj9prt29.so+0x3e848])
//// omrintrospect_backtrace_thread_raw+0xe4 (0x00007D2CA84C7AB4 [libj9prt29.so+0x37ab4])
//// protectedIntrospectBacktraceThread+0x24 (0x00007D2CA84C7094 [libj9prt29.so+0x37094])
//// omrsig_protect+0x358 (0x00007D2CA84CE848 [libj9prt29.so+0x3e848])
//// omrintrospect_backtrace_thread+0x98 (0x00007D2CA84C71A8 [libj9prt29.so+0x371a8])
//// generateDiagnosticFiles+0x140 (0x00007D2CA85A4890 [libj9vm29.so+0x44890])
//// omrsig_protect+0x358 (0x00007D2CA84CE848 [libj9prt29.so+0x3e848])
//// structuredSignalHandler+0x1b4 (0x00007D2CA85A4BC4 [libj9vm29.so+0x44bc4])
//// mainSynchSignalHandler+0x260 (0x00007D2CA84CD6A0 [libj9prt29.so+0x3d6a0])
//// __kernel_sigtramp_rt64+0x0 (0x00007D2CA91C0444 [linux-vdso64.so.1+0x444])
//// ---------------------------------------
//// JVMDUMP039I Processing dump event "gpf", detail "" at 2023/07/14 21:23:43 - please wait.
//// JVMDUMP032I JVM requested System dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/core.20230714.212343.2300576.0001.dmp' in response to an event
//// JVMDUMP010I System dump written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/core.20230714.212343.2300576.0001.dmp
//// JVMDUMP032I JVM requested Java dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/javacore.20230714.212343.2300576.0002.txt' in response to an event
//// JVMDUMP010I Java dump written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/javacore.20230714.212343.2300576.0002.txt
//// JVMDUMP032I JVM requested Snap dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_0/aqa-tests/TKG/output_16893621424238/testJITServer_2/Snap.20230714.212343.2300576.0003.trc' in response to an event
hzongaro commented 1 year ago

Nazim @nbhuiyan, I'm not sure whether this is a MethodHandles issue or something that's JITServer-specific, or some combination of the two. May I ask you to triage this to determine whether it is specific to MethodHandles?

knn-k commented 10 months ago

This is still reproducible by running sanity.functional with PROD_ASSUMES on aarch64.

[2023-12-01T11:26:09.154Z]  [ERR] #JITServer: Client sending compReq seqNo=111 to server for method java/lang/invoke/MethodHandles$Lookup.<init>(Ljava/lang/Class;Ljava/lang/Class;I)V @ cold.
[2023-12-01T11:26:09.154Z]  [ERR] Assertion failed at /home/jenkins/workspace/Build_JDK17_aarch64_linux_Personal/omr/compiler/runtime/OMRCodeCache.cpp:540: _reserved
[2023-12-01T11:26:09.154Z]  [ERR] VMState: 0x0005ffff
[2023-12-01T11:26:09.154Z]  [ERR]   CodeCache 0xffffa00e21c0 is not reserved when calling reservedResolvedTrampoline
[2023-12-01T11:26:09.154Z]  [ERR] 
[2023-12-01T11:26:09.154Z]  [ERR] compiling java/lang/invoke/MethodHandles$Lookup.<init>(Ljava/lang/Class;Ljava/lang/Class;I)V at level: cold