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

JDK21 jsr292_MethodHandleAPI_Test VMState: 0x0005ff0a Assertion failed at omr/compiler/p/codegen/OMRConstantDataSnippet.hpp:109: offset >= (-(1LL << 33)) && offset <= ((1LL << 33) - 1) #18367

Open JasonFengJ9 opened 1 year ago

JasonFengJ9 commented 1 year ago

Failure link

From an internal build(ubu22lert-4):

java version "21.0.1-beta" 2023-10-17
IBM Semeru Runtime Certified Edition 21.0.1+12-202310261647 (build 21.0.1-beta+12-202310261647)
Eclipse OpenJ9 VM 21.0.1+12-202310261647 (build master-39fd615b3, JRE 21 Linux ppc64le-64-Bit Compressed References 20231026_22 (JIT enabled, AOT enabled)
OpenJ9   - 39fd615b3
OMR      - 071c0c25b
JCL      - c06eaf638 based on jdk-21.0.1+12)

Rerun in Grinder - Change TARGET to run only the failed test targets.

Optional info

Failure output (captured from console output)

[2023-10-26T18:03:05.604Z] variation: NoOptions
[2023-10-26T18:03:05.604Z] JVM_OPTIONS:  

[2023-10-26T18:03:05.980Z] ... TestNG 6.14.2 by Cédric Beust (cedric@beust.com)
[2023-10-26T18:03:05.980Z] ...
[2023-10-26T18:03:05.980Z] 
[2023-10-26T18:03:07.494Z] Assertion failed at /home/jenkins/workspace/build-scripts/jobs/jdk21u/jdk21u-linux-ppc64le-openj9-IBM/workspace/build/src/omr/compiler/p/codegen/OMRConstantDataSnippet.hpp:109: offset >= (-(1LL << 33)) && offset <= ((1LL << 33) - 1)
[2023-10-26T18:03:07.494Z] VMState: 0x0005ff0a
[2023-10-26T18:03:07.495Z]  Instruction 0x7e17c5154a40 [pld] (generated from node 0x7e17c4b47170 [call]): Offset to ConstantDataSnippet is out of range
[2023-10-26T18:03:07.495Z] compiling java/lang/invoke/MethodHandles.loop([[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; at level: warm
[2023-10-26T18:03:07.495Z] #0: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb3d520) [0x7e18b3b9d520]
[2023-10-26T18:03:07.495Z] #1: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb4f64c) [0x7e18b3baf64c]
[2023-10-26T18:03:07.495Z] #2: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x72c2b4) [0x7e18b378c2b4]
[2023-10-26T18:03:07.495Z] #3: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x72e0b8) [0x7e18b378e0b8]
[2023-10-26T18:03:07.495Z] #4: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc22e64) [0x7e18b3c82e64]
[2023-10-26T18:03:07.495Z] #5: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc220a0) [0x7e18b3c820a0]
[2023-10-26T18:03:07.495Z] #6: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc22350) [0x7e18b3c82350]
[2023-10-26T18:03:07.495Z] #7: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbc1aa4) [0x7e18b3c21aa4]
[2023-10-26T18:03:07.495Z] #8: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x68af5c) [0x7e18b36eaf5c]
[2023-10-26T18:03:07.495Z] #9: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x694758) [0x7e18b36f4758]
[2023-10-26T18:03:07.495Z] #10: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6969d8) [0x7e18b36f69d8]
[2023-10-26T18:03:07.495Z] #11: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x690fe0) [0x7e18b36f0fe0]
[2023-10-26T18:03:07.495Z] #12: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6c9f34) [0x7e18b3729f34]
[2023-10-26T18:03:07.495Z] #13: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x172c84) [0x7e18b31d2c84]
[2023-10-26T18:03:07.495Z] #14: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x173ef4) [0x7e18b31d3ef4]
[2023-10-26T18:03:07.495Z] #15: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3abb4) [0x7e18b903abb4]
[2023-10-26T18:03:07.495Z] #16: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17111c) [0x7e18b31d111c]
[2023-10-26T18:03:07.495Z] #17: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x171710) [0x7e18b31d1710]
[2023-10-26T18:03:07.495Z] #18: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x16fefc) [0x7e18b31cfefc]
[2023-10-26T18:03:07.495Z] #19: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x170528) [0x7e18b31d0528]
[2023-10-26T18:03:07.495Z] #20: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1705e0) [0x7e18b31d05e0]
[2023-10-26T18:03:07.495Z] #21: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3abb4) [0x7e18b903abb4]
[2023-10-26T18:03:07.495Z] #22: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x170b48) [0x7e18b31d0b48]
[2023-10-26T18:03:07.495Z] #23: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0xd820) [0x7e18b8fcd820]
[2023-10-26T18:03:07.495Z] #24: /lib/powerpc64le-linux-gnu/libc.so.6(+0xb5804) [0x7e18b9ad5804]
[2023-10-26T18:03:07.495Z] 
[2023-10-26T18:03:07.495Z] 
[2023-10-26T18:03:07.495Z] Instruction context:
[2023-10-26T18:03:07.495Z] 
[2023-10-26T18:03:07.495Z]  [    0x7e17c51531c0]    37  Label [    0x7e17c5152e00]: 
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154390]    37  ori     GPR_    0x7e17c5154320, gr15, 0x0
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154510]    35  addi    GPR_    0x7e17c51544a0, [851968]        # SymRef  boolean[#3671  Static] [flags 0x18307 0x0 ]
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154620]    37  ori     &GPR_    0x7e17c51545b0, &GPR_    0x7e17c5152a80, 0x0
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154a40]    37  pld     D_GPR_    0x7e17c5154730, 0000000000000000
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154ae0]    37  bl  00007E18B3CAB440        ; Direct Call "jitCheckCast"
[2023-10-26T18:03:07.495Z]  PRE: [D_GPR_    0x7e17c51542b0 : gr2] [GPR_    0x7e17c5154320 : gr3] [GPR_    0x7e17c51544a0 : gr4] [&GPR_    0x7e17c51545b0 : gr5] [D_GPR_    0x7e17c51546c0 : gr11] [D_GPR_    0x7e17c5154730 : gr12] [D_GPR_    0x7e17c51547a0 : gr0] [D_GPR_    0x7e17c5154810 : gr6] [D_GPR_    0x7e17c5154880 : gr7] [D_GPR_    0x7e17c51548f0 : gr8] [D_GPR_    0x7e17c5154960 : gr9] [D_GPR_    0x7e17c51549d0 : gr10] 
[2023-10-26T18:03:07.495Z] POST: [D_GPR_    0x7e17c51542b0 : gr2] [GPR_    0x7e17c5154320 : gr3] [GPR_    0x7e17c51544a0 : gr4] [&GPR_    0x7e17c51545b0 : gr5] [D_GPR_    0x7e17c51546c0 : gr11] [D_GPR_    0x7e17c5154730 : gr12] [D_GPR_    0x7e17c51547a0 : gr0] [D_GPR_    0x7e17c5154810 : gr6] [D_GPR_    0x7e17c5154880 : gr7] [D_GPR_    0x7e17c51548f0 : gr8] [D_GPR_    0x7e17c5154960 : gr9] [D_GPR_    0x7e17c51549d0 : gr10] 
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154b90]    37  b   Label [    0x7e17c5152da0]  
[2023-10-26T18:03:07.495Z]  [    0x7e17c5154c80]    37  Label [    0x7e17c5154c20]: 
[2023-10-26T18:03:07.495Z] (Set env var TR_AssertFullContext for full context)
[2023-10-26T18:03:07.495Z] 
[2023-10-26T18:03:07.495Z] Node context:
[2023-10-26T18:03:07.495Z] 
[2023-10-26T18:03:07.495Z] ...
[2023-10-26T18:03:07.495Z] !!! Treetop for node 0x7e17c4b47170 was not found !!!
[2023-10-26T18:03:07.495Z] ...
[2023-10-26T18:03:07.495Z] (Set env var TR_AssertFullContext for full context)
[2023-10-26T18:03:07.495Z] #0: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb3d520) [0x7e18b3b9d520]
[2023-10-26T18:03:07.495Z] #1: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xb4f64c) [0x7e18b3baf64c]
[2023-10-26T18:03:07.495Z] #2: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x153dcc) [0x7e18b31b3dcc]
[2023-10-26T18:03:07.495Z] #3: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x39998) [0x7e18b9039998]
[2023-10-26T18:03:07.495Z] #4: function __kernel_sigtramp_rt64+0 [0]
[2023-10-26T18:03:07.495Z] #5: /lib/powerpc64le-linux-gnu/libc.so.6(pthread_kill+0x18c) [0x7e18b9ad866c]
[2023-10-26T18:03:07.495Z] #6: /lib/powerpc64le-linux-gnu/libc.so.6(gsignal+0x2c) [0x7e18b9a71dfc]
[2023-10-26T18:03:07.495Z] #7: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x72e010) [0x7e18b378e010]
[2023-10-26T18:03:07.495Z] #8: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x72e0f0) [0x7e18b378e0f0]
[2023-10-26T18:03:07.496Z] #9: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc22e64) [0x7e18b3c82e64]
[2023-10-26T18:03:07.496Z] #10: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc220a0) [0x7e18b3c820a0]
[2023-10-26T18:03:07.496Z] #11: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc22350) [0x7e18b3c82350]
[2023-10-26T18:03:07.496Z] #12: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbc1aa4) [0x7e18b3c21aa4]
[2023-10-26T18:03:07.496Z] #13: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x68af5c) [0x7e18b36eaf5c]
[2023-10-26T18:03:07.496Z] #14: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x694758) [0x7e18b36f4758]
[2023-10-26T18:03:07.496Z] #15: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6969d8) [0x7e18b36f69d8]
[2023-10-26T18:03:07.496Z] #16: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x690fe0) [0x7e18b36f0fe0]
[2023-10-26T18:03:07.496Z] #17: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6c9f34) [0x7e18b3729f34]
[2023-10-26T18:03:07.496Z] #18: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x172c84) [0x7e18b31d2c84]
[2023-10-26T18:03:07.496Z] #19: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x173ef4) [0x7e18b31d3ef4]
[2023-10-26T18:03:07.496Z] #20: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3abb4) [0x7e18b903abb4]
[2023-10-26T18:03:07.496Z] #21: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17111c) [0x7e18b31d111c]
[2023-10-26T18:03:07.496Z] #22: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x171710) [0x7e18b31d1710]
[2023-10-26T18:03:07.496Z] #23: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x16fefc) [0x7e18b31cfefc]
[2023-10-26T18:03:07.496Z] #24: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x170528) [0x7e18b31d0528]
[2023-10-26T18:03:07.496Z] #25: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1705e0) [0x7e18b31d05e0]
[2023-10-26T18:03:07.496Z] #26: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3abb4) [0x7e18b903abb4]
[2023-10-26T18:03:07.496Z] #27: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x170b48) [0x7e18b31d0b48]
[2023-10-26T18:03:07.496Z] #28: /home/jenkins/workspace/Test_openjdk21_j9_extended.functional_ppc64le_linux_testList_0/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0xd820) [0x7e18b8fcd820]
[2023-10-26T18:03:07.496Z] #29: /lib/powerpc64le-linux-gnu/libc.so.6(+0xb5804) [0x7e18b9ad5804]
[2023-10-26T18:03:07.496Z] Unhandled exception
[2023-10-26T18:03:07.496Z] Type=Unhandled trap vmState=0x0005ff0a
[2023-10-26T18:03:07.496Z] J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
[2023-10-26T18:03:07.496Z] Handler1=00007E18B91115A0 Handler2=00007E18B9039700
[2023-10-26T18:03:07.496Z] R0=00000000000000FA R1=00007E1895B16290 R2=00007E18B9CA6E00 R3=0000000000000000
[2023-10-26T18:03:07.496Z] R4=00000000000D94DC R5=0000000000000005 R6=0000000000000053 R7=000000000000005F
[2023-10-26T18:03:07.496Z] R8=FFFFFFFFFEFF0000 R9=0000000000000000 R10=0000000000000000 R11=0000000000000000
[2023-10-26T18:03:07.496Z] R12=0000000000000000 R13=00007E1895B268E0 R14=00007E18B99DD268 R15=00007E1895B1A8F8
[2023-10-26T18:03:07.496Z] R16=0000000000000001 R17=0000000000000001 R18=00007E1895B1A8F8 R19=00007E1895B1A3F8
[2023-10-26T18:03:07.496Z] R20=0000000060000000 R21=00007E18B44CF1F8 R22=00007E1895B1AAB8 R23=00007E1897444A80
[2023-10-26T18:03:07.496Z] R24=00007E1895B16758 R25=00007E18B3D8CC5C R26=00007E17C6876A20 R27=00007E18B3D90EE0
[2023-10-26T18:03:07.496Z] R28=0000000000000005 R29=00007E17C4B47170 R30=00007E1895B1F0A0 R31=00000000000D94DC
[2023-10-26T18:03:07.496Z] NIP=00007E18B9AD866C MSR=800000000280D033 ORIG_GPR3=00000000000D94D8 CTR=0000000000000000
[2023-10-26T18:03:07.496Z] LINK=0000000000000000 XER=0000000000000000 CCR=0000000044882402 SOFTE=0000000000000001
[2023-10-26T18:03:07.496Z] TRAP=0000000000003000 DAR=00007E18B90A55A0 dsisr=0000000040000000 RESULT=0000000000000000
[2023-10-26T18:03:07.496Z] FPR0 0000000000000218 (f: 536.000000, d: 2.648192e-321)
[2023-10-26T18:03:07.496Z] FPR1 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
[2023-10-26T18:03:07.496Z] FPR2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR3 0000002e00000021 (f: 33.000000, d: 9.761181e-313)
[2023-10-26T18:03:07.497Z] FPR4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR5 0000002600000027 (f: 39.000000, d: 8.063584e-313)
[2023-10-26T18:03:07.497Z] FPR6 0000002200000023 (f: 35.000000, d: 7.214786e-313)
[2023-10-26T18:03:07.497Z] FPR7 0000003d0000003e (f: 62.000000, d: 1.294417e-312)
[2023-10-26T18:03:07.497Z] FPR8 000000390000003a (f: 58.000000, d: 1.209538e-312)
[2023-10-26T18:03:07.497Z] FPR9 0000000500000004 (f: 4.000000, d: 1.060998e-313)
[2023-10-26T18:03:07.497Z] FPR10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR11 cdb6ce3333318db3 (f: 858885568.000000, d: -2.401696e+66)
[2023-10-26T18:03:07.497Z] FPR12 0000000007ffffff (f: 134217728.000000, d: 6.631237e-316)
[2023-10-26T18:03:07.497Z] FPR13 0007fffe7bdb7fef (f: 2077982720.000000, d: 1.112534e-308)
[2023-10-26T18:03:07.497Z] FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
[2023-10-26T18:03:07.497Z] Module=/lib/powerpc64le-linux-gnu/libc.so.6
[2023-10-26T18:03:07.497Z] Module_base_address=00007E18B9A20000 Symbol=pthread_kill
[2023-10-26T18:03:07.497Z] Symbol_address=00007E18B9AD84E0
[2023-10-26T18:03:07.497Z] 
[2023-10-26T18:03:07.497Z] Method_being_compiled=java/lang/invoke/MethodHandles.loop([[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
[2023-10-26T18:03:07.497Z] Target=2_90_20231026_22 (Linux 5.15.0-87-generic)
[2023-10-26T18:03:07.497Z] CPU=ppc64le (32 logical CPUs) (0x1f8990000 RAM)
[2023-10-26T18:03:07.497Z] ----------- Stack Backtrace -----------
[2023-10-26T18:03:07.497Z] pthread_kill+0x18c (0x00007E18B9AD866C [libc.so.6+0xb866c])
[2023-10-26T18:03:07.497Z] gsignal+0x2c (0x00007E18B9A71DFC [libc.so.6+0x51dfc])
[2023-10-26T18:03:07.497Z] _ZN2TR4trapEv+0x70 (0x00007E18B378E010 [libj9jit29.so+0x72e010])
[2023-10-26T18:03:07.497Z] _ZN2TR27fatal_assertion_with_detailERKNS_16AssertionContextEPKciS4_S4_z+0x80 (0x00007E18B378E0F0 [libj9jit29.so+0x72e0f0])
[2023-10-26T18:03:07.497Z] _ZN3OMR11PPCConstantIlE15patchRequestorsEPN2TR13CodeGeneratorEl+0xa74 (0x00007E18B3C82E64 [libj9jit29.so+0xc22e64])
[2023-10-26T18:03:07.497Z] _ZN3OMR19ConstantDataSnippet19emitAddressConstantEPNS_11PPCConstantIlEEPh+0xf0 (0x00007E18B3C820A0 [libj9jit29.so+0xc220a0])
[2023-10-26T18:03:07.497Z] _ZN3OMR19ConstantDataSnippet15emitSnippetBodyEv+0xf0 (0x00007E18B3C82350 [libj9jit29.so+0xc22350])
[2023-10-26T18:03:07.497Z] _ZN3OMR5Power13CodeGenerator16emitDataSnippetsEv+0x34 (0x00007E18B3C21AA4 [libj9jit29.so+0xbc1aa4])
[2023-10-26T18:03:07.497Z] _ZN3OMR13CodeGenerator12emitSnippetsEv+0xdc (0x00007E18B36EAF5C [libj9jit29.so+0x68af5c])
[2023-10-26T18:03:07.497Z] _ZN3OMR12CodeGenPhase24performEmitSnippetsPhaseEPN2TR13CodeGeneratorEPNS1_12CodeGenPhaseE+0x78 (0x00007E18B36F4758 [libj9jit29.so+0x694758])
[2023-10-26T18:03:07.497Z] _ZN3OMR12CodeGenPhase10performAllEv+0x148 (0x00007E18B36F69D8 [libj9jit29.so+0x6969d8])
[2023-10-26T18:03:07.497Z] _ZN3OMR13CodeGenerator12generateCodeEv+0x80 (0x00007E18B36F0FE0 [libj9jit29.so+0x690fe0])
[2023-10-26T18:03:07.497Z] _ZN3OMR11Compilation7compileEv+0x804 (0x00007E18B3729F34 [libj9jit29.so+0x6c9f34])
[2023-10-26T18:03:07.497Z] _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadPNS_11CompilationEP17TR_ResolvedMethodR11TR_J9VMBaseP19TR_OptimizationPlanRKNS_16SegmentAllocatorE+0x504 (0x00007E18B31D2C84 [libj9jit29.so+0x172c84])
[2023-10-26T18:03:07.497Z] _ZN2TR28CompilationInfoPerThreadBase14wrappedCompileEP13J9PortLibraryPv+0x364 (0x00007E18B31D3EF4 [libj9jit29.so+0x173ef4])
[2023-10-26T18:03:07.497Z] omrsig_protect+0x3e4 (0x00007E18B903ABB4 [libj9prt29.so+0x3abb4])
[2023-10-26T18:03:07.497Z] _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadP21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x36c (0x00007E18B31D111C [libj9jit29.so+0x17111c])
[2023-10-26T18:03:07.497Z] _ZN2TR24CompilationInfoPerThread12processEntryER21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x170 (0x00007E18B31D1710 [libj9jit29.so+0x171710])
[2023-10-26T18:03:07.497Z] _ZN2TR24CompilationInfoPerThread14processEntriesEv+0x3fc (0x00007E18B31CFEFC [libj9jit29.so+0x16fefc])
[2023-10-26T18:03:07.497Z] _ZN2TR24CompilationInfoPerThread3runEv+0xa8 (0x00007E18B31D0528 [libj9jit29.so+0x170528])
[2023-10-26T18:03:07.497Z] _Z30protectedCompilationThreadProcP13J9PortLibraryPN2TR24CompilationInfoPerThreadE+0xa0 (0x00007E18B31D05E0 [libj9jit29.so+0x1705e0])
[2023-10-26T18:03:07.497Z] omrsig_protect+0x3e4 (0x00007E18B903ABB4 [libj9prt29.so+0x3abb4])
[2023-10-26T18:03:07.497Z] _Z21compilationThreadProcPv+0x1a8 (0x00007E18B31D0B48 [libj9jit29.so+0x170b48])
[2023-10-26T18:03:07.497Z] thread_wrapper+0x190 (0x00007E18B8FCD820 [libj9thr29.so+0xd820])
[2023-10-26T18:03:07.497Z]  (0x00007E18B9AD5804 [libc.so.6+0xb5804])
[2023-10-26T18:03:07.497Z] ---------------------------------------
[2023-10-26T18:03:07.497Z] JVMDUMP039I Processing dump event "gpf", detail "" at 2023/10/26 18:03:06 - please wait.

[2023-10-26T18:03:07.501Z] ===============================================
[2023-10-26T18:03:07.501Z]     jsr292_MethodHandleAPI_Test
[2023-10-26T18:03:07.501Z]     Tests run: 436, Failures: 0, Skips: 0
[2023-10-26T18:03:07.502Z] ===============================================
[2023-10-26T18:03:07.502Z] 
[2023-10-26T18:03:07.502Z] 
[2023-10-26T18:03:07.502Z] ===============================================
[2023-10-26T18:03:07.502Z] jsr292_Suite_SE90
[2023-10-26T18:03:07.502Z] Total tests run: 436, Failures: 0, Skips: 0
[2023-10-26T18:03:07.502Z] ===============================================

50x internal grinder - passed

tajila commented 1 year ago

@hzongaro Please take a look

hzongaro commented 1 year ago

Julian @zl-wang, I'm assuming for now that this is specific to Power code generation. May I ask you to assign this for investigation?

zl-wang commented 1 year ago

@bhavanisn please take a look ...

vij-singh commented 1 year ago

@bhavanisn @zl-wang Any new updates?

zl-wang commented 1 year ago

@bhavanisn you can add the details of your progress here.

bhavanisn commented 1 year ago

There is no solid update on this. As issue is not reproducible, I am still looking into core dump and jitdump to get more details on crash. This is my analysis so far:

gdb shows that the frame where it crashed, but the values are optimized out.

(gdb) frame 21
#21 0x00007e18b3c82e64 in OMR::PPCConstant<long>::patchRequestors (this=<optimized out>, cg=0x7e17c6876a20, addr=138644082150016)
    at /home/jenkins/workspace/build-scripts/jobs/jdk21u/jdk21u-linux-ppc64le-openj9-IBM/workspace/build/src/omr/compiler/p/codegen/OMRConstantDataSnippet.hpp:109
(gdb) p/x 138644082150016
$1 = 0x7e1897444a80

(gdb) info frame
Stack level 21, frame at 0x7e1895b16510:
 pc = 0x7e18b3c82e64 in OMR::PPCConstant<long>::patchRequestors
    (/home/jenkins/workspace/build-scripts/jobs/jdk21u/jdk21u-linux-ppc64le-openj9-IBM/workspace/build/src/omr/compiler/p/codegen/OMRConstantDataSnippet.hpp:109); 
    saved pc = 0x7e18b3c820a0
 called by frame at 0x7e1895b165a0, caller of frame at 0x7e1895b163f0
 source language c++.
 Arglist at 0x7e1895b163f0, args: this=<optimized out>, cg=0x7e17c6876a20, addr=138644082150016
 Locals at 0x7e1895b163f0, Previous frame's sp is 0x7e1895b16510
 Saved registers:
  r14 at 0x7e1895b16480, r15 at 0x7e1895b16488, r16 at 0x7e1895b16490, r17 at 0x7e1895b16498, r18 at 0x7e1895b164a0, r19 at 0x7e1895b164a8, r20 at 0x7e1895b164b0,
  r21 at 0x7e1895b164b8, r22 at 0x7e1895b164c0, r23 at 0x7e1895b164c8, r24 at 0x7e1895b164d0, r25 at 0x7e1895b164d8, r26 at 0x7e1895b164e0, r27 at 0x7e1895b164e8,
  r28 at 0x7e1895b164f0, r29 at 0x7e1895b164f8, r30 at 0x7e1895b16500, r31 at 0x7e1895b16508, pc at 0x7e1895b16520, lr at 0x7e1895b16520

Code where it asserts : https://github.com/eclipse/omr/blob/master/compiler/p/codegen/OMRConstantDataSnippet.hpp#L97-L113

(gdb) p/x addr
$6 = 0x7e1897444a80
(gdb) p instr                                                                                                                                                               
$2 = (TR::Instruction *) 0x7e17c5154a40                                                                                                                                     
(gdb) p *(TR::Instruction *) 0x7e17c5154a40                                                                                                                                 
$3 = {<J9::Instruction> = {<OMR::Power::Instruction> = {<OMR::Instruction> = {_vptr.Instruction = 0x7e18b3fb44f8 <vtable for TR::PPCTrg1ImmInstruction+16>,   
        **_binaryEncodingBuffer = 0x0, _binaryLength = 0 '\000',** _estimatedBinaryLength = 0 '\000', _opcode = {<OMR::Power::InstOpCode> = {<OMR::InstOpCode> = {              
              _mnemonic = OMR::InstOpCode::pld},  ........

Trying to find the values of offset and cursor to start with which is calculated with addr passed as arg and instr from the dump as below. uint32_t cursor = reinterpret_cast<uint32_t>(instr->getBinaryEncoding() + instr->getBinaryLength() - 8); From the dump as both _binaryEncodingBuffer = 0x0, _binaryLength = 0, cursor=-8(0xFFFFFFF8).

intptr_t offset = reinterpret_cast<uint8_t>(addr) - reinterpret_cast<uint8_t>(cursor); offset = 0x7e1897444a80 - 0xFFFFFFF8 = 0x7E1797444A88 << which looks incorrect

Need to look further to understand this.

pshipton commented 1 year ago

As it wasn't reproduced in the original grinder or for diagnosis, and hasn't yet been seen again, removing from the Java 21 plan.

zl-wang commented 1 year ago

1) it looks like possibly reproducible to run on a POWER10 machine; 2) obviously binaryEncodingBuffer==0 means the instruction hasn't been encoded yet (at least, its encodingBuffer hasn't been set yet). That is wrong and unexpected: you certainly cannot back-patch the offset with unknown encodingBuffer.

bhavanisn commented 11 months ago

From the jit dump, the code where the crash occured is part of OutOfLine HelperCall code.

------------ start out-of-line instructions

 [    0x7e17badf62e0]   37      Outlined Label L7843:
 [    0x7e17badf74b0]   37      ori     GPR_    0x7e17badf7440, gr15, 0x0
 [    0x7e17badf7630]   35      addi    GPR_    0x7e17badf75c0, [851968]                # SymRef  boolean[#3819  Static] [flags 0x18307 0x0 ]
 [    0x7e17badf7740]   37      ori     &GPR_    0x7e17badf76d0, &GPR_    0x7e17badf5940, 0x0
 [    0x7e17badf7b60]   37      pld     D_GPR_    0x7e17badf7850, 0000000000000000
 [    0x7e17badf7c00]   37      bl      00007E18B3CAB440                ; Direct Call "jitCheckCast"
 PRE: [D_GPR_    0x7e17badf73d0 : gr2] [GPR_    0x7e17badf7440 : gr3] [GPR_    0x7e17badf75c0 : gr4] [&GPR_    0x7e17badf76d0 : gr5] [D_GPR_    0x7e17badf77e0 : gr11] [D_GPR_    0x7e17badf7850 : gr12] [D_GPR_    0x7e17badf78c0 : gr0] [D_GPR_    0x7e17badf7930 : gr6] [D_GPR_    0x7e17badf79a0 : gr7] [D_GPR_    0x7e17badf7a10 : gr8] [D_GPR_    0x7e17badf7a80 : gr9] [D_GPR_    0x7e17badf7af0 : gr10]
POST: [D_GPR_    0x7e17badf73d0 : gr2] [GPR_    0x7e17badf7440 : gr3] [GPR_    0x7e17badf75c0 : gr4] [&GPR_    0x7e17badf76d0 : gr5] [D_GPR_    0x7e17badf77e0 : gr11] [D_GPR_    0x7e17badf7850 : gr12] [D_GPR_    0x7e17badf78c0 : gr0] [D_GPR_    0x7e17badf7930 : gr6] [D_GPR_    0x7e17badf79a0 : gr7] [D_GPR_    0x7e17badf7a10 : gr8] [D_GPR_    0x7e17badf7a80 : gr9] [D_GPR_    0x7e17badf7af0 : gr10]
 [    0x7e17badf7cb0]   37      b       Label L7842
 [    0x7e17badf7da0]   37      Label L7845:
------------ end out-of-line instructions

Tracing back to the OOL label L7843 to the mainline code didn't yield any results. Looking further in the compilation logs by searching the branch b Label L7842 back it turns out that the mainline code did not generate the branch to OOL helper call. Only labels for that code is generated.

============================================================
; Live regs: GPR=1 FPR=0 CCR=0 VRF=0 VSX_SCALAR=0 VSX_VECTOR=0 {&GPR_    0x7e17badf5940}
------------------------------
 n20706n  (  0)  checkcast [#86]                                                                      [    0x7e17c29637f0] bci=[239,37,491] rc=0 vc=861 vn=- li=1147 udi=- nc=2
 n30567n  (  1)    ==>aRegLoad (in &GPR_    0x7e17badf5940) (X!=0 SeenRealReference )
 n20705n  (  1)    loadaddr  boolean[#3819  Static] [flags 0x18307 0x0 ]                              [    0x7e17c29637a0] bci=[239,35,491] rc=1 vc=861 vn=- li=1147 udi=- nc=0
------------------------------
checkcast: Emitting HelperCall for failure
Omitting CCR save/restore for helper calls
------------------------------
 n20706n  (  0)  checkcast [#86]                                                                      [    0x7e17c29637f0] bci=[239,37,491] rc=0 vc=861 vn=- li=1147 udi=- nc=2
 n30567n  (  0)    ==>aRegLoad (in &GPR_    0x7e17badf5940) (X!=0 SeenRealReference )
 n20705n  (  0)    loadaddr  boolean[#3819  Static] [flags 0x18307 0x0 ]                              [    0x7e17c29637a0] bci=[239,35,491] rc=0 vc=1575 vn=- li=- udi=- nc=0
------------------------------

 [    0x7e17badf6010]   37      Label L7841:
 [    0x7e17badf6120]   37      Label L7840:
 PRE:
POST: [CCR_    0x7e17badf5fa0 : cr0] [&GPR_    0x7e17badf5940 : ???]
 [    0x7e17badf6200]   37      Label L7842:

============================================================
; Live regs: GPR=0 FPR=0 CCR=0 VRF=0 VSX_SCALAR=0 VSX_VECTOR=0 {}
------------------------------
 n25266n  (  0)  return                                                                               [    0x7e17c2fcc940] bci=[239,37,491] rc=0 vc=861 vn=- li=1147 udi=- nc=0
bhavanisn commented 11 months ago

When the testcase passes, the trace generated a different variation, but helped in analyzing the issue.

In all "good" cases there is always more than one sequence generated. https://github.com/eclipse-openj9/openj9/blob/6d4bb3715ff0f1b15bae28cdac948eaced54d121/runtime/compiler/p/codegen/J9TreeEvaluator.cpp#L3814

This while loop goes through each sequence and generate code for that, except for terminal sequence which can be Helper/failure case(handled outside of loop).

checkcast:Interpreter profiling instance class: [0000000000207600] java/lang/invoke/DirectMethodHandle, probability=0.5
checkcast: Emitting NullTest
checkcast: Emitting ProfiledClassTest
checkcast: Emitting SuperClassTest
checkcast: Emitting HelperCall for failure
Omitting CCR save/restore for helper calls
------------------------------

The branch to next sequence Label is generated inside the loop. So when we have numSequencesRemaining>1, all works good. https://github.com/eclipse-openj9/openj9/blob/6d4bb3715ff0f1b15bae28cdac948eaced54d121/runtime/compiler/p/codegen/J9TreeEvaluator.cpp#L3900

In the failure case, we have only one sequence generated (Might be very rare case considering, we did not hit it till now). So in this case while loop is not entered and thus branch to nextSequenceLabel is not generated and thus fails to branch to OOL code leaving it not encoded.

checkcast: Emitting HelperCall for failure
Omitting CCR save/restore for helper calls
------------------------------

Fix would be to generate branch to OOL code when that is the only sequence generated.

Similar to code in aarch: https://github.com/eclipse-openj9/openj9/blob/6d4bb3715ff0f1b15bae28cdac948eaced54d121/runtime/compiler/aarch64/codegen/J9TreeEvaluator.cpp#L2532-L2536