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 openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:885: isAlreadyValidated(classOne) #17736

Closed dylanjtuttle closed 1 year ago

dylanjtuttle commented 1 year ago

The assertion at

/home/jenkins/workspace/Build_JDK11_x86-64_linux_Personal/openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:885: isAlreadyValidated(classOne)

fires when building the sanity.functional test suite on x86-64_linux for Java 11 with the -DPROD_WITH_ASSUMES flag enabled.

Link to the Jenkins job.

Stack trace:

14:46:06  build:
14:46:06  Assertion failed at /home/jenkins/workspace/Build_JDK11_x86-64_linux_Personal/openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:885: isAlreadyValidated(classOne)
14:46:06  VMState: 0x000501ff
14:46:06    classOne 0x297200 should have already been validated
14:46:06  compiling com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String; at level: warm
14:46:06  #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x99eed5) [0x7ff100b38ed5]
14:46:06  #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9ac5e0) [0x7ff100b465e0]
14:46:06  #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x626b3e) [0x7ff1007c0b3e]
14:46:06  #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x626cfd) [0x7ff1007c0cfd]
14:46:06  #4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f3eeb) [0x7ff10068deeb]
14:46:06  #5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x240e20) [0x7ff1003dae20]
14:46:06  #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x3be185) [0x7ff100558185]
14:46:06  #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x3be2b1) [0x7ff1005582b1]
14:46:06  #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6df18c) [0x7ff10087918c]
14:46:06  #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x39bb36) [0x7ff100535b36]
14:46:06  #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6e6807) [0x7ff100880807]
14:46:06  #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x390ce6) [0x7ff10052ace6]
14:46:06  #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x8149e8) [0x7ff1009ae9e8]
14:46:06  #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x816483) [0x7ff1009b0483]
14:46:06  #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x5d6c1d) [0x7ff100770c1d]
14:46:06  #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x156241) [0x7ff1002f0241]
14:46:06  #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x157499) [0x7ff1002f1499]
14:46:06  #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x2b8b3) [0x7ff1025a68b3]
14:46:06  #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1547f6) [0x7ff1002ee7f6]
14:46:06  #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x154e63) [0x7ff1002eee63]
14:46:06  #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x15388c) [0x7ff1002ed88c]
14:46:06  #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x153e38) [0x7ff1002ede38]
14:46:06  #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x153ed2) [0x7ff1002eded2]
14:46:06  #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x2b8b3) [0x7ff1025a68b3]
14:46:06  #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1542ff) [0x7ff1002ee2ff]
14:46:06  #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0xe4f6) [0x7ff10236e4f6]
14:46:06  #26: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7ff103a88609]
14:46:06  #27: /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ff103796133]
14:46:06  
14:46:06  JIT: crashed while compiling com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String; (recoverable 0)
14:46:06  #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x99eed5) [0x7ff100b38ed5]
14:46:06  #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9ac5e0) [0x7ff100b465e0]
14:46:06  #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x13f541) [0x7ff1002d9541]
14:46:06  #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x2ad7a) [0x7ff1025a5d7a]
14:46:06  #4: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7ff103a94420]
14:46:06  #5: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0xcb) [0x7ff103a942ab]
14:46:06  #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x626c77) [0x7ff1007c0c77]
14:46:06  #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x626d02) [0x7ff1007c0d02]
14:46:06  #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f3eeb) [0x7ff10068deeb]
14:46:06  #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x240e20) [0x7ff1003dae20]
14:46:06  #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x3be185) [0x7ff100558185]
14:46:06  #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x3be2b1) [0x7ff1005582b1]
14:46:06  #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6df18c) [0x7ff10087918c]
14:46:06  #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x39bb36) [0x7ff100535b36]
14:46:06  #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6e6807) [0x7ff100880807]
14:46:06  #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x390ce6) [0x7ff10052ace6]
14:46:06  #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x8149e8) [0x7ff1009ae9e8]
14:46:06  #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x816483) [0x7ff1009b0483]
14:46:06  #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x5d6c1d) [0x7ff100770c1d]
14:46:06  #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x156241) [0x7ff1002f0241]
14:46:06  #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x157499) [0x7ff1002f1499]
14:46:06  #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x2b8b3) [0x7ff1025a68b3]
14:46:06  #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1547f6) [0x7ff1002ee7f6]
14:46:06  #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x154e63) [0x7ff1002eee63]
14:46:06  #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x15388c) [0x7ff1002ed88c]
14:46:06  #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x153e38) [0x7ff1002ede38]
14:46:06  #26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x153ed2) [0x7ff1002eded2]
14:46:06  #27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x2b8b3) [0x7ff1025a68b3]
14:46:06  #28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1542ff) [0x7ff1002ee2ff]
14:46:06  #29: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_x86-64_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0xe4f6) [0x7ff10236e4f6]
14:46:06  Unhandled exception
14:46:06  Type=Unhandled trap vmState=0x000501ff
14:46:06  J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
14:46:06  Handler1=00007FF10284FE00 Handler2=00007FF1025A5B50
14:46:06  RDI=0000000000000002 RSI=00007FF0DFDE4E10 RAX=0000000000000000 RBX=00007FF07700B010
14:46:06  RCX=00007FF103A942AB RDX=0000000000000000 R8=0000000000000000 R9=00007FF0DFDE4E10
14:46:06  R10=0000000000000008 R11=0000000000000246 R12=0000000000297200 R13=0000000000000001
14:46:06  R14=0000000000000001 R15=0000000000000001
14:46:06  RIP=00007FF103A942AB GS=0000 FS=0000 RSP=00007FF0DFDE4E10
14:46:06  EFlags=0000000000000246 CS=0033 RBP=0000000000295C00 ERR=0000000000000000
14:46:06  TRAPNO=0000000000000000 OLDMASK=0000000000000000 CR2=0000000000000000
14:46:06  xmm0 ffffffffffffffff (f: 4294967296.000000, d: -nan)
14:46:06  xmm1 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm2 ffffffffffffff00 (f: 4294967040.000000, d: -nan)
14:46:06  xmm3 00007ff0dfde48e0 (f: 3755886848.000000, d: 6.950146e-310)
14:46:06  xmm4 2b286f732e393272 (f: 775500416.000000, d: 8.727906e-101)
14:46:06  xmm5 692d6b6473326a2f (f: 1932683776.000000, d: 4.398276e+198)
14:46:06  xmm6 5f6c616e6f737265 (f: 1869836928.000000, d: 4.645038e+151)
14:46:06  xmm7 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm8 000000000000000a (f: 10.000000, d: 4.940656e-323)
14:46:06  xmm9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:46:06  Module=/lib/x86_64-linux-gnu/libpthread.so.0
14:46:06  Module_base_address=00007FF103A80000 Symbol=raise
14:46:06  Symbol_address=00007FF103A941E0
14:46:06  
14:46:06  Method_being_compiled=com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String;
14:46:06  Target=2_90_20230705_5417 (Linux 5.4.0-153-generic)
14:46:06  CPU=amd64 (4 logical CPUs) (0x1f093e000 RAM)
dylanjtuttle commented 1 year ago

We get the same assertion failure while building sanity.functional on s390x_linux:

17:37:24  compile:
17:37:24       [echo] Ant version is Apache Ant(TM) version 1.10.5 compiled on July 10 2018
17:37:24       [echo] ============COMPILER SETTINGS============
17:37:24       [echo] ===fork:                         yes
17:37:24       [echo] ===executable:                   /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/bin/javac
17:37:24       [echo] ===debug:                        on
17:37:24       [echo] ===destdir:                      /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/functional/Java11andUp
17:37:24      [javac] Compiling 15 source files to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/functional/Java11andUp/bin
17:37:25      [javac] Note: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/functional/Java11andUp/src/org/openj9/test/condy/DefineCondyClass.java uses or overrides a deprecated API.
17:37:25      [javac] Note: Recompile with -Xlint:deprecation for details.
17:37:25  
17:37:25  dist:
17:37:25        [jar] Building jar: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/jvmtest/functional/Java11andUp/GeneralTest.jar
17:37:25       [copy] Copying 3 files to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/jvmtest/functional/Java11andUp
17:37:25  
17:37:25  clean:
17:37:25     [delete] Deleting directory /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/functional/Java11andUp/bin
17:37:25  
17:37:25  build:
17:37:25  
17:37:25  check-jar:
17:37:25  
17:37:25  build:
17:37:25  Assertion failed at /home/jenkins/workspace/Build_JDK11_s390x_linux_Personal/openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:885: isAlreadyValidated(classOne)
17:37:25  VMState: 0x000501ff
17:37:25    classOne 0x2d2000 should have already been validated
17:37:25  compiling com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String; at level: warm
17:37:25  #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xaf4866) [0x3ff81574866]
17:37:25  #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb035c0) [0x3ff815835c0]
17:37:25  #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7310e8) [0x3ff811b10e8]
17:37:25  #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7312de) [0x3ff811b12de]
17:37:25  #4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x58ce42) [0x3ff8100ce42]
17:37:25  #5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x2851e0) [0x3ff80d051e0]
17:37:25  #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x439970) [0x3ff80eb9970]
17:37:25  #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x439af0) [0x3ff80eb9af0]
17:37:25  #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7fdf70) [0x3ff8127df70]
17:37:25  #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x412a36) [0x3ff80e92a36]
17:37:25  #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x805d8c) [0x3ff81285d8c]
17:37:25  #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4067d0) [0x3ff80e867d0]
17:37:25  #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x94561a) [0x3ff813c561a]
17:37:25  #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x947484) [0x3ff813c7484]
17:37:25  #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6d4130) [0x3ff81154130]
17:37:25  #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18d0c4) [0x3ff80c0d0c4]
17:37:25  #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18e330) [0x3ff80c0e330]
17:37:25  #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x34546) [0x3ff8d434546]
17:37:25  #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18b650) [0x3ff80c0b650]
17:37:25  #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18bd08) [0x3ff80c0bd08]
17:37:25  #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18a626) [0x3ff80c0a626]
17:37:25  #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18ac0a) [0x3ff80c0ac0a]
17:37:25  #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18acba) [0x3ff80c0acba]
17:37:25  #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x34546) [0x3ff8d434546]
17:37:25  #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18b156) [0x3ff80c0b156]
17:37:25  #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x5a14) [0x3ff8d385a14]
17:37:25  #26: /lib64/libpthread.so.0(+0x8312) [0x3ff8df08312]
17:37:25  #27: /lib64/libc.so.6(+0x10e232) [0x3ff8dd0e232]
17:37:25  
17:37:25  JIT: crashed while compiling com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String; (recoverable 0)
17:37:25  #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xaf4866) [0x3ff81574866]
17:37:25  #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb035c0) [0x3ff815835c0]
17:37:25  #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17319c) [0x3ff80bf319c]
17:37:25  #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3365c) [0x3ff8d43365c]
17:37:25  #4: [0x3ff65ff53f0]
17:37:25  #5: /lib64/libpthread.so.0(raise+0x30) [0x3ff8df10bc0]
17:37:25  #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x731286) [0x3ff811b1286]
17:37:25  #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7312e4) [0x3ff811b12e4]
17:37:25  #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x58ce42) [0x3ff8100ce42]
17:37:25  #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x2851e0) [0x3ff80d051e0]
17:37:25  #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x439970) [0x3ff80eb9970]
17:37:25  #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x439af0) [0x3ff80eb9af0]
17:37:25  #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7fdf70) [0x3ff8127df70]
17:37:25  #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x412a36) [0x3ff80e92a36]
17:37:25  #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x805d8c) [0x3ff81285d8c]
17:37:25  #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4067d0) [0x3ff80e867d0]
17:37:25  #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x94561a) [0x3ff813c561a]
17:37:25  #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x947484) [0x3ff813c7484]
17:37:25  #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6d4130) [0x3ff81154130]
17:37:25  #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18d0c4) [0x3ff80c0d0c4]
17:37:25  #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18e330) [0x3ff80c0e330]
17:37:25  #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x34546) [0x3ff8d434546]
17:37:25  #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18b650) [0x3ff80c0b650]
17:37:25  #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18bd08) [0x3ff80c0bd08]
17:37:25  #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18a626) [0x3ff80c0a626]
17:37:25  #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18ac0a) [0x3ff80c0ac0a]
17:37:25  #26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18acba) [0x3ff80c0acba]
17:37:25  #27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x34546) [0x3ff8d434546]
17:37:25  #28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x18b156) [0x3ff80c0b156]
17:37:25  #29: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x5a14) [0x3ff8d385a14]
17:37:25  Unhandled exception
17:37:25  Type=Unhandled trap vmState=0x000501ff
17:37:25  J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
17:37:25  Handler1=000003FF8D54D550 Handler2=000003FF8D4333D8
17:37:25  gpr0=0000000000000005 gpr1=000003FF65FFE910 gpr2=0000000000000000 gpr3=0000000000006EC0
17:37:25  gpr4=0000000000000005 gpr5=000003FF00006E8A gpr6=000003FF65FF59B8 gpr7=0000000000000001
17:37:25  gpr8=0000000000000001 gpr9=00000000002D2000 gpr10=00000000002D0A00 gpr11=000003FF81A36198
17:37:25  gpr12=000003FF8DF19000 gpr13=000003FF817A3708 gpr14=000003FF811B1286 gpr15=000003FF65FF5878
17:37:25  psw=000003FF8DF10BC0 mask=0705200180000000 fpc=0008fe00 bea=000003FF8DC69604
17:37:25  fpr0 46ba6f4600000000 (f: 0.000000, d: 5.361586e+32)
17:37:25  fpr1 3fb93d4bb7e327a9 (f: 3085117440.000000, d: 9.859155e-02)
17:37:25  fpr2 4130000000000000 (f: 0.000000, d: 1.048576e+06)
17:37:25  fpr3 3fd999f1abd2dada (f: 2882722560.000000, d: 4.000210e-01)
17:37:25  fpr4 4130000000000000 (f: 0.000000, d: 1.048576e+06)
17:37:25  fpr5 3fcc723e7dcde3fb (f: 2110645248.000000, d: 2.222365e-01)
17:37:25  fpr6 3fcb2a68ec9ad9b5 (f: 3969571328.000000, d: 2.122317e-01)
17:37:25  fpr7 3f83e83bb8b32a19 (f: 3098749440.000000, d: 9.720294e-03)
17:37:25  fpr8 000000000cb1ed08 (f: 212987136.000000, d: 1.052296e-315)
17:37:25  fpr9 000003ff000072f0 (f: 29424.000000, d: 2.170802e-311)
17:37:25  fpr10 000000000cb1e250 (f: 212984400.000000, d: 1.052283e-315)
17:37:25  fpr11 0000000002bdd9a0 (f: 45996448.000000, d: 2.272526e-316)
17:37:25  fpr12 000000000cb1ed10 (f: 212987152.000000, d: 1.052296e-315)
17:37:25  fpr13 0000000000000001 (f: 1.000000, d: 4.940656e-324)
17:37:25  fpr14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
17:37:25  fpr15 0000000002bdd990 (f: 45996432.000000, d: 2.272526e-316)
17:37:25  Module=/lib64/libpthread.so.0
17:37:25  Module_base_address=000003FF8DF00000 Symbol=raise
17:37:25  Symbol_address=000003FF8DF10B90
17:37:25  
17:37:25  Method_being_compiled=com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy.getValue(Ljava/lang/String;)Ljava/lang/String;
17:37:25  Target=2_90_20230705_1573 (Linux 3.10.0-1160.92.1.el7.s390x)
17:37:25  CPU=s390x (4 logical CPUs) (0x1ec5df000 RAM)
17:37:25  ----------- Stack Backtrace -----------
17:37:25  
17:37:25  init:
17:37:25      [mkdir] Created dir: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/jvmtest/functional/InstrumentationAgent
17:37:25      [mkdir] Created dir: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/functional/InstrumentationAgent/bin
17:37:25  
17:37:25  compile:
17:37:25       [echo] Ant version is Apache Ant(TM) version 1.10.5 compiled on July 10 2018
17:37:25       [echo] ============COMPILER SETTINGS============
17:37:25       [echo] ===fork:                         yes
17:37:25       [echo] ===executable:                   /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/openjdkbinary/j2sdk-image/bin/javac
17:37:25       [echo] ===debug:                        on
17:37:25       [echo] ===destdir:                      /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/TKG/../../jvmtest/functional/InstrumentationAgent
17:37:25      [javac] Compiling 1 source file to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/functional/InstrumentationAgent/bin
17:37:26  raise+0x30 (0x000003FF8DF10BC0 [libpthread.so.0+0x10bc0])
17:37:26  _ZN2TR4trapEv+0x5e (0x000003FF811B1286 [libj9jit29.so+0x731286])
17:37:26   (0x000003FF811B12E4 [libj9jit29.so+0x7312e4])
17:37:26  _ZN2TR23SymbolValidationManager29addClassInstanceOfClassRecordEP19TR_OpaqueClassBlockS2_bbb+0x24a (0x000003FF8100CE42 [libj9jit29.so+0x58ce42])
17:37:26  _ZN18TR_J9SharedCacheVM12isInstanceOfEP19TR_OpaqueClassBlockS1_bbb+0xe8 (0x000003FF80D051E0 [libj9jit29.so+0x2851e0])
17:37:26  _ZN22TR_J9InterfaceCallSite22findCallSiteTargetImplEP12TR_CallStackP14TR_InlinerBaseP19TR_OpaqueClassBlock+0x800 (0x000003FF80EB9970 [libj9jit29.so+0x439970])
17:37:26  _ZN22TR_J9InterfaceCallSite18findCallSiteTargetEP12TR_CallStackP14TR_InlinerBase+0x100 (0x000003FF80EB9AF0 [libj9jit29.so+0x439af0])
17:37:26  _ZN14TR_InlinerBase29getSymbolAndFindInlineTargetsEP12TR_CallStackP11TR_CallSiteb+0x5a0 (0x000003FF8127DF70 [libj9jit29.so+0x7fdf70])
17:37:26  _ZN28TR_MultipleCallTargetInliner17inlineCallTargetsEPN2TR20ResolvedMethodSymbolEP12TR_CallStackP24TR_InnerPreexistenceInfo+0x5e6 (0x000003FF80E92A36 [libj9jit29.so+0x412a36])
17:37:26  _ZN14TR_InlinerBase15performInliningEPN2TR20ResolvedMethodSymbolE+0xd4 (0x000003FF81285D8C [libj9jit29.so+0x805d8c])
17:37:26  _ZN10TR_Inliner7performEv+0x120 (0x000003FF80E867D0 [libj9jit29.so+0x4067d0])
17:37:26  _ZN3OMR9Optimizer19performOptimizationEPK20OptimizationStrategyiii+0x902 (0x000003FF813C561A [libj9jit29.so+0x94561a])
17:37:26  _ZN3OMR9Optimizer8optimizeEv+0x294 (0x000003FF813C7484 [libj9jit29.so+0x947484])
17:37:26  _ZN3OMR11Compilation7compileEv+0xbd8 (0x000003FF81154130 [libj9jit29.so+0x6d4130])
17:37:26  _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadPNS_11CompilationEP17TR_ResolvedMethodR11TR_J9VMBaseP19TR_OptimizationPlanRKNS_16SegmentAllocatorE+0x4e4 (0x000003FF80C0D0C4 [libj9jit29.so+0x18d0c4])
17:37:26  _ZN2TR28CompilationInfoPerThreadBase14wrappedCompileEP13J9PortLibraryPv+0x3e8 (0x000003FF80C0E330 [libj9jit29.so+0x18e330])
17:37:26  omrsig_protect+0x366 (0x000003FF8D434546 [libj9prt29.so+0x34546])
17:37:26  _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadP21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x350 (0x000003FF80C0B650 [libj9jit29.so+0x18b650])
17:37:26  _ZN2TR24CompilationInfoPerThread12processEntryER21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x1e8 (0x000003FF80C0BD08 [libj9jit29.so+0x18bd08])
17:37:26  _ZN2TR24CompilationInfoPerThread14processEntriesEv+0x42e (0x000003FF80C0A626 [libj9jit29.so+0x18a626])
17:37:26  _ZN2TR24CompilationInfoPerThread3runEv+0xc2 (0x000003FF80C0AC0A [libj9jit29.so+0x18ac0a])
17:37:26  _Z30protectedCompilationThreadProcP13J9PortLibraryPN2TR24CompilationInfoPerThreadE+0x9a (0x000003FF80C0ACBA [libj9jit29.so+0x18acba])
17:37:26  omrsig_protect+0x366 (0x000003FF8D434546 [libj9prt29.so+0x34546])
17:37:26  _Z21compilationThreadProcPv+0x1fe (0x000003FF80C0B156 [libj9jit29.so+0x18b156])
17:37:26  thread_wrapper+0x114 (0x000003FF8D385A14 [libj9thr29.so+0x5a14])
17:37:26  start_thread+0xea (0x000003FF8DF08312 [libpthread.so.0+0x8312])
17:37:26   (0x000003FF8DD0E232 [libc.so.6+0x10e232])
17:37:26  ---------------------------------------
17:37:26  JVMDUMP039I Processing dump event "gpf", detail "" at 2023/07/05 14:37:25 - please wait.
17:37:26  JVMDUMP032I JVM requested System dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/TKG/core.20230705.143725.28298.0001.dmp' in response to an event
dsouzai commented 1 year ago

This implies a missing validation. Essentially we somehow got our hands on J9Class 0x2d2000, but we never created an SVM validation record to remember how we got our hands on it.

dsouzai commented 1 year ago

Looks like this class doesn't have a validation record:

https://github.com/eclipse-openj9/openj9/blob/96f5bb9655ef49c11641dfeceb6ddc63b83912de/runtime/compiler/optimizer/J9Inliner.cpp#L882-L884

It's strange because when we create a resolved method, we ensure that we already have validated the containing class:

https://github.com/eclipse-openj9/openj9/blob/96f5bb9655ef49c11641dfeceb6ddc63b83912de/runtime/compiler/env/j9method.cpp#L1001-L1002

That said, if I suppose this heuristic region could be the reason why we got our hands on a class that we never created a record for.

https://github.com/eclipse-openj9/openj9/blob/96f5bb9655ef49c11641dfeceb6ddc63b83912de/runtime/compiler/env/PersistentCHTable.cpp#L434-L436

dsouzai commented 1 year ago

@jdmpapin looks like you added the relevant code in J9Inliner.cpp. What do you think is the best way to ensure we have the necessarily validation records created?

I guess the addMethodFromSingleImplementerRecord SVM API implicitly assumes we're not going to look at the J9Method or Class of the resolved method we got from collectImplementorsCapped, but that's kind of a bad assumption right?

dsouzai commented 1 year ago

A relatively simple solution might just be to have a ClassFromMethod SVM record specifically for cases where we get a method from the CH Table, and then we look at it's containing class. Then for the three SVM APIs used in the Persistent CH Table queries, we just ensure that we also create a ClassFromMethod record using the method we just got from within the heuristic region. What do you think?

dylanjtuttle commented 1 year ago

Upon commenting out this assert, we get two more missing validation record assertion failures:

openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:1038: isAlreadyValidated(thisClass)

Assertion failed at /root/code/openj9-openjdk-jdk17/openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:1038: isAlreadyValidated(thisClass)
VMState: 0x000503ff
        thisClass 0x206f00 should have already been validated
compiling java/util/stream/ReferencePipeline$7$1.accept(Ljava/lang/Object;)V at level: cold
#0: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa3eb19) [0x7fe092d50b19]
#1: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa4c0e4) [0x7fe092d5e0e4]
#2: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x693a8c) [0x7fe0929a5a8c]
#3: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x693c83) [0x7fe0929a5c83]
#4: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x561c63) [0x7fe092873c63]
#5: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x261ec6) [0x7fe092573ec6]
#6: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x4287ba) [0x7fe09273a7ba]
#7: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x428e6e) [0x7fe09273ae6e]
#8: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x75385d) [0x7fe092a6585d]
#9: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x753e52) [0x7fe092a65e52]
#10: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x744376) [0x7fe092a56376]
#11: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x75d067) [0x7fe092a6f067]
#12: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x75d28d) [0x7fe092a6f28d]
#13: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x88b385) [0x7fe092b9d385]
#14: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x88cf63) [0x7fe092b9ef63]
#15: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x63b9de) [0x7fe09294d9de]
#16: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1846d5) [0x7fe0924966d5]
#17: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1858a6) [0x7fe0924978a6]
#18: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9prt29.so(+0x2a211) [0x7fe093656211]
#19: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x18311a) [0x7fe09249511a]
#20: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x183397) [0x7fe092495397]
#21: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x18217c) [0x7fe09249417c]
#22: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1825b8) [0x7fe0924945b8]
#23: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x182646) [0x7fe092494646]
#24: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9prt29.so(+0x2a211) [0x7fe093656211]
#25: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x182a1f) [0x7fe092494a1f]
#26: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9thr29.so(+0xbaf7) [0x7fe093807af7]
#27: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7fe093b81609]
#28: /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fe093cdd133]

JVMDUMP052I JIT dump recursive crash occurred on diagnostic thread
JVMDUMP010I JIT dump written to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/jitdump.20230706.102517.328057.0004.dmp
JVMDUMP013I Processed dump event "gpf", detail "".
255
20230706-10:25:26 - Successfully moved core file javacore.20230706.102517.328057.0002.txt to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
20230706-10:25:26 - Successfully moved core file Snap.20230706.102517.328057.0003.trc to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
20230706-10:25:26 - Successfully moved core file jitdump.20230706.102517.328057.0004.dmp to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
make: *** [makefile:94: compileTools] Error 1

openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:931: isAlreadyValidated(superClass)

compile:
     [echo] Ant version is Apache Ant(TM) version 1.10.7 compiled on October 24 2019
     [echo] ============COMPILER SETTINGS============
     [echo] ===fork:                         yes
     [echo] ===executable:                   /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/bin/javac
     [echo] ===debug:                        on
     [echo] ===destdir:                      /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../../jvmtest/functional/TestExample
    [javac] Compiling 3 source files to /root/code/openj9-openjdk-jdk17/aqa-tests/functional/TestExample/bin
JVMDUMP010I Java dump written to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/javacore.20230706.104140.335402.0002.txt
JVMDUMP032I JVM requested Snap dump using '/root/code/openj9-openjdk-jdk17/aqa-tests/TKG/Snap.20230706.104140.335402.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/Snap.20230706.104140.335402.0003.trc
JVMDUMP032I JVM requested JIT dump using '/root/code/openj9-openjdk-jdk17/aqa-tests/TKG/jitdump.20230706.104140.335402.0004.dmp' in response to an event
JVMDUMP051I JIT dump occurred in 'JIT Compilation Thread-000' thread 0x000000000001E700
JVMDUMP049I JIT dump notified all waiting threads of the current method to be compiled
JVMDUMP054I JIT dump is tracing the IL of the method on the crashed compilation thread
JVMDUMP052I JIT dump recursive crash occurred on diagnostic thread
JVMDUMP048I JIT dump method being compiled is an ordinary method
JVMDUMP053I JIT dump is recompiling java/io/BufferedInputStream.close()V
Assertion failed at /root/code/openj9-openjdk-jdk17/openj9/runtime/compiler/runtime/SymbolValidationManager.cpp:931: isAlreadyValidated(superClass)
VMState: 0x000509ff
        superClass 0x2f7a00 should have already been validated
compiling java/io/BufferedInputStream.close()V at level: cold
#0: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa3e919) [0x7fc08bb4b919]
#1: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa4bee4) [0x7fc08bb58ee4]
#2: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x69388c) [0x7fc08b7a088c]
#3: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x693a83) [0x7fc08b7a0a83]
#4: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x560cac) [0x7fc08b66dcac]
#5: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x25ff02) [0x7fc08b36cf02]
#6: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x45ac5f) [0x7fc08b567c5f]
#7: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x45992a) [0x7fc08b56692a]
#8: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x9f8769) [0x7fc08bb05769]
#9: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa33eda) [0x7fc08bb40eda]
#10: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa020ec) [0x7fc08bb0f0ec]
#11: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa33eda) [0x7fc08bb40eda]
#12: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa34674) [0x7fc08bb41674]
#13: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa34e36) [0x7fc08bb41e36]
#14: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0xa35414) [0x7fc08bb42414]
#15: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x88b185) [0x7fc08b998185]
#16: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x88b53c) [0x7fc08b99853c]
#17: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x88cd63) [0x7fc08b999d63]
#18: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x63b7de) [0x7fc08b7487de]
#19: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1846d5) [0x7fc08b2916d5]
#20: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1858a6) [0x7fc08b2928a6]
#21: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9prt29.so(+0x2a211) [0x7fc090467211]
#22: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x18311a) [0x7fc08b29011a]
#23: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x183397) [0x7fc08b290397]
#24: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x18217c) [0x7fc08b28f17c]
#25: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x1825b8) [0x7fc08b28f5b8]
#26: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x182646) [0x7fc08b28f646]
#27: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9prt29.so(+0x2a211) [0x7fc090467211]
#28: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9jit29.so(+0x182a1f) [0x7fc08b28fa1f]
#29: /root/code/openj9-openjdk-jdk17/build/linux-x86_64-server-release/images/jdk/lib/default/libj9thr29.so(+0xbaf7) [0x7fc090618af7]

JVMDUMP052I JIT dump recursive crash occurred on diagnostic thread
JVMDUMP010I JIT dump written to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/jitdump.20230706.104140.335402.0004.dmp
JVMDUMP013I Processed dump event "gpf", detail "".
255
20230706-10:41:49 - Successfully moved core file javacore.20230706.104140.335402.0002.txt to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
20230706-10:41:49 - Successfully moved core file Snap.20230706.104140.335402.0003.trc to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
20230706-10:41:49 - Successfully moved core file jitdump.20230706.104140.335402.0004.dmp to /root/code/openj9-openjdk-jdk17/aqa-tests/TKG/../TKG/output_compilation
make[1]: *** [compile.mk:45: compile] Error 1
make[1]: Leaving directory '/root/code/openj9-openjdk-jdk17/aqa-tests/TKG'
make: *** [makefile:67: compile] Error 2
dsouzai commented 1 year ago

Upon commenting out this assert, we get two more missing validation record assertion failures

I think once you comment out one assert, the rest is just undefined behaviour; the only safe thing to do is to fail the compilation (which is what happens without PROD_WITH_ASSUMES).

hzongaro commented 1 year ago

I think once you comment out one assert, the rest is just undefined behaviour; the only safe thing to do is to fail the compilation

Irwin clarified offline that he was referring to the various SVM_ASSERTs. For TR_ASSERTs that are failing, it should be safe to comment them out in order to expose additional failing asserts.

dylanjtuttle commented 1 year ago

That explains a lot! Good to know...

jdmpapin commented 1 year ago

I spent a while discussing this with Irwin. Summarizing...

We don't need a class-from-method validation. In fact, there's no such thing - I removed it a while back. Instead, all method records also define the ID of the defining class of the method (unless it's an input, which must be known in advance). So if a method isAlreadyValidated, then so is its defining class. And in the case of this calleeResolvedMethod, it came from findSingleImplementer, which on successful validation has an earlier assertion checking that that's the case: https://github.com/eclipse-openj9/openj9/blob/f7305e7f338a61150e71235eea611d88f946b887/runtime/compiler/env/PersistentCHTable.cpp#L452

So we were pretty confused, but then Irwin noticed that findCallSiteTargetImpl has another call to isInstanceOf where it's consulting the profiled receiver types, and now we're pretty sure the problem is there. He's putting together a fix, which is to set up a heuristic region while looking through the profiling, and then to explicitly create the needed validations if we want to switch to VFT test