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 720 forks source link

extended.system_x86-64_mac SC_Softmx_JitAot_0 gpf vmState=0x00000000 libj9thr29.dylib #7426

Open pshipton opened 5 years ago

pshipton commented 5 years ago

https://ci.eclipse.org/openj9/job/Test_openjdk8_j9_extended.system_x86-64_mac_Nightly/167 SC_Softmx_JitAot_0 16.jvm4.stderr

JVMJITM004W AOT code in shared class cache cannot execute on current processor. Ignoring AOT code in shared class cache.
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000018 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000000
Handler1=00000000032FBF00 Handler2=0000000003503C20
RDI=0000000000000102 RSI=00000000FFF9AA00 RAX=00007F8B3D13ADD8 RBX=FFF9B620FFF9B608
RCX=00000000FFEC6760 RDX=0000000000000003 R8=00000000056B2CB0 R9=00007F8B3D052378
R10=00000000FFFFFFFF R11=FFFFFFFF00000000 R12=0000000003472440 R13=00000000056B2798
R14=0000000080000020 R15=00000000056B2700
RIP=00000000029DDEAC GS=0000 FS=0000 RSP=00007000009709A0
RFlags=0000000000010287 CS=002B RBP=00007000009709B0 ERR=0096FFF800000000
TRAPNO=000000000000000D CPU=FFF8000000000000 FAULTVADDR=000070000096FFF8
XMM0 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM1 3fd0ab2290b56afc (f: 2427808512.000000, d: 2.604453e-01)
XMM2 000000005f000000 (f: 1593835520.000000, d: 7.874594e-315)
XMM3 00007f8b3d173698 (f: 1024931456.000000, d: 6.928579e-310)
XMM4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM5 3fcbc28800000000 (f: 0.000000, d: 2.168741e-01)
XMM6 000fffffffffffff (f: 4294967296.000000, d: 2.225074e-308)
XMM7 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
XMM8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/Users/jenkins/workspace/Test_openjdk8_j9_extended.system_x86-64_mac_Nightly/openjdkbinary/j2sdk-image/jre/lib/compressedrefs/libj9thr29.dylib
Module_base_address=00000000029DA000 Symbol=omrthread_monitor_enter
Symbol_address=00000000029DDE90
Target=2_90_20191009_169 (Mac OS X 10.11.6)
CPU=amd64 (4 logical CPUs) (0x200000000 RAM)
----------- Stack Backtrace -----------
---------------------------------------
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000018 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000001
Handler1=00000000032FBF00 Handler2=0000000003503C20 InaccessibleAddress=0000000200000010
RDI=00000000056C8D00 RSI=00000000FFEC6760 RAX=0000000200000008 RBX=00000000FFEC6760
RCX=00007F8B3D022220 RDX=0000000000000030 R8=00000000056C8D00 R9=00000000FFF9AAEC
R10=0000000000000000 R11=0000000000004010 R12=00000000FFEC6760 R13=00000000FFF27DF0
R14=00000000FFFFFF00 R15=00000000FFEC6760
RIP=00000000032DE697 GS=0000 FS=0000 RSP=00000000056D0160
RFlags=0000000000010202 CS=002B RBP=00000000056D0210 ERR=0000001000000004
TRAPNO=000000040000000E CPU=0010000000040000 FAULTVADDR=0000000200000010
XMM0 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM1 3fd110d2f80d6a2e (f: 4161628672.000000, d: 2.666519e-01)
XMM2 000000005f000000 (f: 1593835520.000000, d: 7.874594e-315)
XMM3 be88800000000000 (f: 0.000000, d: -1.825392e-07)
XMM4 bd12c200264c15ae (f: 642520512.000000, d: -1.666029e-14)
XMM5 3fcbc28800000000 (f: 0.000000, d: 2.168741e-01)
XMM6 000fffffffffffff (f: 4294967296.000000, d: 2.225074e-308)
XMM7 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
XMM8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
XMM15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/Users/jenkins/workspace/Test_openjdk8_j9_extended.system_x86-64_mac_Nightly/openjdkbinary/j2sdk-image/jre/lib/compressedrefs/libj9vm29.dylib
Module_base_address=000000000325A000 Symbol=objectMonitorEnterNonBlocking
Symbol_address=00000000032DE5B0
Target=2_90_20191009_169 (Mac OS X 10.11.6)
CPU=amd64 (4 logical CPUs) (0x200000000 RAM)
----------- Stack Backtrace -----------

https://ci.eclipse.org/openj9//job/Grinder/parambuild/?JDK_VERSION=8&JDK_IMPL=openj9&BUILD_LIST=system&JenkinsFile=openjdk_x86-64_mac&TARGET=SC_Softmx_JitAot_0&SDK_RESOURCE=upstream&CUSTOMIZED_SDK_URL=https://140-211-168-230-openstack.osuosl.org/artifactory/ci-eclipse-openj9/Build_JDK8_x86-64_mac_Nightly/169/OpenJ9-JDK8-x86-64_mac-20191010-022354.tar.gz%20https://140-211-168-230-openstack.osuosl.org/artifactory/ci-eclipse-openj9/Build_JDK8_x86-64_mac_Nightly/169/native-test-libs.tar.gz&CUSTOMIZED_SDK_URL_CREDENTIAL_ID=ab89294b-5ba1-48e9-8c85-107daca5a2e9

DanHeidinga commented 5 years ago

@babsingh Can you take a look given the crashes are in locking calls? Its likely a issue in the callers but someone needs to take the first look

DanHeidinga commented 5 years ago

JVMJITM004W AOT code in shared class cache cannot execute on current processor. Ignoring AOT code in shared class cache.

fyi @dsouzai

dsouzai commented 5 years ago

JVMJITM004W AOT code in shared class cache cannot execute on current processor. Ignoring AOT code in shared class cache.

From what I can tell, this is very likely because the SCC was created without any extra JIT options, but then in Step 16 - Run Jvm4 workload process the java command has -Xaot:forceAot,disableAsyncCompilation,count=0. This means that the SCC was created with the JIT running in asynchronous compilation mode and then in Step 16, the JIT is running in synchronous compilation mode. This would cause this validation to fail: https://github.com/eclipse/openj9/blob/eb34cfa086458315a5842237d1c08aa2cc81e303/runtime/compiler/runtime/RelocationRuntime.cpp#L1010-L1011

pshipton commented 5 years ago

@dsouzai why is asynchronous incompatible with synchronous?

dsouzai commented 5 years ago

Heh, I don't exactly know why because this seems to have been a validation that existed well before I started working on the compiler :).

The vague notion I have is that it has to do with the preprologue that is generated in each compiled body, in that it's different if the compile was done synchronously or asynchronously.

@mpirvu @vijaysun-omr @mstoodle are probably the ones who would know for sure.

babsingh commented 4 years ago

Unable to reproduce the issue. SC_Softmx_JitAot_0 has passed in the last 30 mac nightly builds: https://ci.eclipse.org/openj9/job/Test_openjdk8_j9_extended.system_x86-64_mac_Nightly/. Both the Mac and Linux test variants use -Xaot:forceAot,disableAsyncCompilation,count=0.