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.27k stars 720 forks source link

Assertion failure at omr/compiler/codegen/OMRRegisterDependency.hpp:273: numDeps <= SENTINEL #17773

Open dylanjtuttle opened 1 year ago

dylanjtuttle commented 1 year ago

The assertion at

/home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/codegen/OMRRegisterDependency.hpp:273: numDeps <= SENTINEL

fires in sanity.functional test case cmdLineTester_callsitedbgddrext_openj9_0 on ppc64le_linux for Java 11.

Link to Jenkins job.

Stack trace:

14:25:47  ***[TEST INFO 2023/07/11 11:25:45] executing kill -ABRT 2454899***
14:25:47  ***[TEST INFO 2023/07/11 11:25:45] kill -ABRT signal sent***
14:25:47  Time spent executing: 660993 milliseconds
14:25:47  Test result: FAILED
14:25:47  Output from test:
14:25:47   [ERR] JVMSHRC023E Cache does not exist
14:25:47   [ERR] Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/codegen/OMRRegisterDependency.hpp:273: numDeps <= SENTINEL
14:25:47   [ERR] VMState: 0x0005ff06
14:25:47   [ERR]    Number of dependencies supplied (256) cannot exceed 255!
14:25:47   [ERR] compiling jdk/internal/module/SystemModules$default.moduleHashes()[Ljdk/internal/module/ModuleHashes; at level: cold
14:25:47   [ERR] #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef3a0) [0x76cdb6bbf3a0]
14:25:47   [ERR] #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02e9c) [0x76cdb6bd2e9c]
14:25:47   [ERR] #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afad8) [0x76cdb677fad8]
14:25:47   [ERR] #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afe44) [0x76cdb677fe44]
14:25:47   [ERR] #4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xcbafb4) [0x76cdb6c8afb4]
14:25:47   [ERR] #5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xcbcd58) [0x76cdb6c8cd58]
14:25:47   [ERR] #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc96f80) [0x76cdb6c66f80]
14:25:47   [ERR] #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6f894c) [0x76cdb66c894c]
14:25:47   [ERR] #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6df9ec) [0x76cdb66af9ec]
14:25:47   [ERR] #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc967f0) [0x76cdb6c667f0]
14:25:47   [ERR] #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6f894c) [0x76cdb66c894c]
14:25:47   [ERR] #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x700580) [0x76cdb66d0580]
14:25:47   [ERR] #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x701ae8) [0x76cdb66d1ae8]
14:25:47   [ERR] #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6fd2e4) [0x76cdb66cd2e4]
14:25:47   [ERR] #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73b924) [0x76cdb670b924]
14:25:47   [ERR] #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17f2a8) [0x76cdb614f2a8]
14:25:47   [ERR] #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x180724) [0x76cdb6150724]
14:25:47   [ERR] #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x76cdb771e848]
14:25:47   [ERR] #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17d3f4) [0x76cdb614d3f4]
14:25:47   [ERR] #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17dbe0) [0x76cdb614dbe0]
14:25:47   [ERR] #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17be9c) [0x76cdb614be9c]
14:25:47   [ERR] #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c758) [0x76cdb614c758]
14:25:47   [ERR] #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c81c) [0x76cdb614c81c]
14:25:47   [ERR] #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x76cdb771e848]
14:25:47   [ERR] #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17ce34) [0x76cdb614ce34]
14:25:47   [ERR] #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x113e8) [0x76cdb76b13e8]
14:25:47   [ERR] #26: /lib/powerpc64le-linux-gnu/libpthread.so.0(+0x8838) [0x76cdb8268838]
14:25:47   [ERR] #27: /lib/powerpc64le-linux-gnu/libc.so.6(clone+0x74) [0x76cdb80fb884]
14:25:47   [ERR] 
14:25:47   [ERR] JIT: crashed while compiling jdk/internal/module/SystemModules$default.moduleHashes()[Ljdk/internal/module/ModuleHashes; (recoverable 0)
14:25:47   [ERR] #0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef3a0) [0x76cdb6bbf3a0]
14:25:47   [ERR] #1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02e9c) [0x76cdb6bd2e9c]
14:25:47   [ERR] #2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1626d8) [0x76cdb61326d8]
14:25:47   [ERR] #3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3d6a0) [0x76cdb771d6a0]
14:25:47   [ERR] #4: function __kernel_sigtramp_rt64+0 [0]
14:25:47   [ERR] #5: /lib/powerpc64le-linux-gnu/libpthread.so.0(raise+0xd8) [0x76cdb827a6a8]
14:25:47   [ERR] #6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afc90) [0x76cdb677fc90]
14:25:47   [ERR] #7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afe48) [0x76cdb677fe48]
14:25:47   [ERR] #8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xcbafb4) [0x76cdb6c8afb4]
14:25:47   [ERR] #9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xcbcd58) [0x76cdb6c8cd58]
14:25:47   [ERR] #10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc96f80) [0x76cdb6c66f80]
14:25:47   [ERR] #11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6f894c) [0x76cdb66c894c]
14:25:47   [ERR] #12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6df9ec) [0x76cdb66af9ec]
14:25:47   [ERR] #13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc967f0) [0x76cdb6c667f0]
14:25:47   [ERR] #14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6f894c) [0x76cdb66c894c]
14:25:47   [ERR] #15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x700580) [0x76cdb66d0580]
14:25:47   [ERR] #16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x701ae8) [0x76cdb66d1ae8]
14:25:47   [ERR] #17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x6fd2e4) [0x76cdb66cd2e4]
14:25:47   [ERR] #18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73b924) [0x76cdb670b924]
14:25:47   [ERR] #19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17f2a8) [0x76cdb614f2a8]
14:25:47   [ERR] #20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x180724) [0x76cdb6150724]
14:25:47   [ERR] #21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x76cdb771e848]
14:25:47   [ERR] #22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17d3f4) [0x76cdb614d3f4]
14:25:47   [ERR] #23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17dbe0) [0x76cdb614dbe0]
14:25:47   [ERR] #24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17be9c) [0x76cdb614be9c]
14:25:47   [ERR] #25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c758) [0x76cdb614c758]
14:25:47   [ERR] #26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c81c) [0x76cdb614c81c]
14:25:47   [ERR] #27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x76cdb771e848]
14:25:47   [ERR] #28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17ce34) [0x76cdb614ce34]
14:25:47   [ERR] #29: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x113e8) [0x76cdb76b13e8]
14:25:47   [ERR] Unhandled exception
14:25:47   [ERR] Type=Unhandled trap vmState=0x0005ff06
14:25:47   [ERR] J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
14:25:47   [ERR] Handler1=000076CDB77F49B0 Handler2=000076CDB771D440
14:25:47   [ERR] R0=00000000000000AE R1=000076CDB4F06150 R2=000076CDB82A7F00 R3=0000000000000000
14:25:47   [ERR] R4=000076CDB4F06178 R5=0000000000000000 R6=0000000000000008 R7=0000000000000000
14:25:47   [ERR] R8=0000000000000000 R9=0000000000000000 R10=0000000000000000 R11=0000000000000000
14:25:47   [ERR] R12=0000000000000000 R13=000076CDB4F168F0 R14=000076CDB82A4410 R15=000076CDB4F0AA28
14:25:47   [ERR] R16=000076CD94F075D0 R17=000076CD946F5CA0 R18=000076CD946DCFF0 R19=000076CD94D91950
14:25:47   [ERR] R20=0000000000000001 R21=0000000000000100 R22=00000000000000CC R23=000076CD94E0E7E0
14:25:47   [ERR] R24=0000000000000000 R25=000076CD946A0000 R26=000076CD946DBC40 R27=000076CD946DAD10
14:25:47   [ERR] R28=000076CDB6DE1FA0 R29=000076CDB4F06178 R30=0000000000000005 R31=0000000000000000
14:25:47   [ERR] NIP=000076CDB827A6A8 MSR=800000000280D033 ORIG_GPR3=0000000000000002 CTR=0000000000000000
14:25:47   [ERR] LINK=000076CDB827A618 XER=0000000000000000 CCR=0000000024004478 SOFTE=0000000000000001
14:25:47   [ERR] TRAP=0000000000000C00 DAR=000076CD6E626E9C dsisr=0000000040000000 RESULT=0000000000000000
14:25:47   [ERR] FPR0 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR1 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
14:25:47   [ERR] FPR2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR3 000076cdb70e8440 (f: 3071181824.000000, d: 6.453778e-310)
14:25:47   [ERR] FPR4 0000002e00000021 (f: 33.000000, d: 9.761181e-313)
14:25:47   [ERR] FPR5 0000002a0000002b (f: 43.000000, d: 8.912382e-313)
14:25:47   [ERR] FPR6 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR7 0000002200000023 (f: 35.000000, d: 7.214786e-313)
14:25:47   [ERR] FPR8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR10 0000000500000004 (f: 4.000000, d: 1.060998e-313)
14:25:47   [ERR] FPR11 0000000900000008 (f: 8.000000, d: 1.909796e-313)
14:25:47   [ERR] FPR12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR13 000076cdb70e9530 (f: 3071186176.000000, d: 6.453778e-310)
14:25:47   [ERR] FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
14:25:47   [ERR] Module=/lib/powerpc64le-linux-gnu/libpthread.so.0
14:25:47   [ERR] Module_base_address=000076CDB8260000 Symbol=raise
14:25:47   [ERR] Symbol_address=000076CDB827A5D0
14:25:47   [ERR] 
14:25:47   [ERR] Method_being_compiled=jdk/internal/module/SystemModules$default.moduleHashes()[Ljdk/internal/module/ModuleHashes;
14:25:47   [ERR] Target=2_90_20230711_1586 (Linux 5.15.0-76-generic)
14:25:47   [ERR] CPU=ppc64le (4 logical CPUs) (0x1fc200000 RAM)
14:25:47   [ERR] ----------- Stack Backtrace -----------
14:25:47   [ERR] raise+0xd8 (0x000076CDB827A6A8 [libpthread.so.0+0x1a6a8])
14:25:47   [ERR] _ZN2TR4trapEv+0x70 (0x000076CDB677FC90 [libj9jit29.so+0x7afc90])
14:25:47   [ERR] _ZN2TR9assertionEPKciS1_S1_z+0x98 (0x000076CDB677FE48 [libj9jit29.so+0x7afe48])
14:25:47   [ERR] _ZN3OMR5Power23RegisterDependencyGroup15assignRegistersEPN2TR11InstructionE16TR_RegisterKindsjPNS2_13CodeGeneratorE+0x3b4 (0x000076CDB6C8AFB4 [libj9jit29.so+0xcbafb4])
14:25:47   [ERR] _ZN3OMR5Power28RegisterDependencyConditions28assignPostConditionRegistersEPN2TR11InstructionE16TR_RegisterKindsPNS2_13CodeGeneratorE+0x38 (0x000076CDB6C8CD58 [libj9jit29.so+0xcbcd58])
14:25:47   [ERR] _ZN2TR19PPCLabelInstruction15assignRegistersE16TR_RegisterKinds+0x50 (0x000076CDB6C66F80 [libj9jit29.so+0xc96f80])
14:25:47   [ERR] _ZN3OMR13CodeGenerator20doRegisterAssignmentE16TR_RegisterKinds+0x12c (0x000076CDB66C894C [libj9jit29.so+0x6f894c])
14:25:47   [ERR] _ZN23TR_OutOfLineCodeSection15assignRegistersE16TR_RegisterKinds+0xcc (0x000076CDB66AF9EC [libj9jit29.so+0x6df9ec])
14:25:47   [ERR] _ZN2TR31PPCConditionalBranchInstruction15assignRegistersE16TR_RegisterKinds+0x120 (0x000076CDB6C667F0 [libj9jit29.so+0xc967f0])
14:25:47   [ERR] _ZN3OMR13CodeGenerator20doRegisterAssignmentE16TR_RegisterKinds+0x12c (0x000076CDB66C894C [libj9jit29.so+0x6f894c])
14:25:47   [ERR] _ZN3OMR12CodeGenPhase29performRegisterAssigningPhaseEPN2TR13CodeGeneratorEPNS1_12CodeGenPhaseE+0xd0 (0x000076CDB66D0580 [libj9jit29.so+0x700580])
14:25:47   [ERR] _ZN3OMR12CodeGenPhase10performAllEv+0x128 (0x000076CDB66D1AE8 [libj9jit29.so+0x701ae8])
14:25:47   [ERR] _ZN3OMR13CodeGenerator12generateCodeEv+0x74 (0x000076CDB66CD2E4 [libj9jit29.so+0x6fd2e4])
14:25:47   [ERR] _ZN3OMR11Compilation7compileEv+0x754 (0x000076CDB670B924 [libj9jit29.so+0x73b924])
14:25:47   [ERR] _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadPNS_11CompilationEP17TR_ResolvedMethodR11TR_J9VMBaseP19TR_OptimizationPlanRKNS_16SegmentAllocatorE+0x548 (0x000076CDB614F2A8 [libj9jit29.so+0x17f2a8])
14:25:47   [ERR] _ZN2TR28CompilationInfoPerThreadBase14wrappedCompileEP13J9PortLibraryPv+0x384 (0x000076CDB6150724 [libj9jit29.so+0x180724])
14:25:47   [ERR] omrsig_protect+0x358 (0x000076CDB771E848 [libj9prt29.so+0x3e848])
14:25:47   [ERR] _ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadP21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x324 (0x000076CDB614D3F4 [libj9jit29.so+0x17d3f4])
14:25:47   [ERR] _ZN2TR24CompilationInfoPerThread12processEntryER21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x280 (0x000076CDB614DBE0 [libj9jit29.so+0x17dbe0])
14:25:47   [ERR] _ZN2TR24CompilationInfoPerThread14processEntriesEv+0x3ac (0x000076CDB614BE9C [libj9jit29.so+0x17be9c])
14:25:47   [ERR] _ZN2TR24CompilationInfoPerThread3runEv+0xf8 (0x000076CDB614C758 [libj9jit29.so+0x17c758])
14:25:47   [ERR] _Z30protectedCompilationThreadProcP13J9PortLibraryPN2TR24CompilationInfoPerThreadE+0x9c (0x000076CDB614C81C [libj9jit29.so+0x17c81c])
14:25:47   [ERR] omrsig_protect+0x358 (0x000076CDB771E848 [libj9prt29.so+0x3e848])
14:25:47   [ERR] _Z21compilationThreadProcPv+0x234 (0x000076CDB614CE34 [libj9jit29.so+0x17ce34])
14:25:47   [ERR] thread_wrapper+0x1a8 (0x000076CDB76B13E8 [libj9thr29.so+0x113e8])
14:25:47   [ERR] start_thread+0xe8 (0x000076CDB8268838 [libpthread.so.0+0x8838])
14:25:47   [ERR] clone+0x74 (0x000076CDB80FB884 [libc.so.6+0x14b884])
14:25:47   [ERR] ---------------------------------------
dylanjtuttle commented 1 year ago

This assert lives inside the constructor to the common code generator class RegisterDependencyMap. The assertion fails because numDeps, the second parameter passed into the constructor, is larger (256) than SENTINEL, a constant holding the value 255.

The path we take to get to the fateful execution of this constructor is:

and the value that ends up becoming numDeps is originally _addCursorForPost, a member variable of RegisterDependencyConditions. It is initialized to zero, and then incremented once in addPostCondition, which makes sense because addPostCondition calls setDependencyInfo to add a register dependency.

Therefore, in order for _addCursorForPost to hold the value 256 by the time it's passed into RegisterDependencyMap, we must call addPostCondition exactly 256 times, meaning we're calling addPostCondition (or adding register dependencies) at least one too many times. There are 143 different places in omr/compiler/p/codegen where we call addPostCondition, and somewhere in that list is likely an edge case where that extra call comes from.

zl-wang commented 10 months ago

@bhavanisn please take this over (at lower priority)

bhavanisn commented 9 months ago

Looking further at the addPostCondition the assert in there which checks with value _numPostConditions for an overflow which is not triggerred, which means that _numPostConditions could be set to value higher than 255.

   {
   TR_ASSERT(_addCursorForPost < _numPostConditions, " Post Condition array bounds overflow");
   _postConditions->setDependencyInfo(_addCursorForPost++, vr, rr, flag);
   }

Added asserts in RegisterDependencyConditions constructors led to assert being taken which trace back to OMR::Power::Machine::createCondForLiveAndSpilledGPRs called from TR_OutOfLineCodeSection::assignRegisters. https://github.com/eclipse/omr/blob/master/compiler/p/codegen/OMRMachine.cpp#L1826-L1852

In the above code, the spilledRegisterList (231) + RealRegister count turns out to be >= 255, which inturn led to hit the assert in RegisterDependencyMap.

Either SENTINEL set to 255 might be outdated or spilledRegisterList + RealRegister should not exceed 255 which is what is causing this issue and need to be investigated further.

bhavanisn commented 9 months ago

Attached the trace of the method SystemModules$default.moduleHashes: Though there are only 5 basic blocks, in BBStart <block_2>, there is a large number of stores:

Below segment Live regs the count is 168.

 n2945n   (  0)  bstorei  <array-shadow>[#249  Shadow] [flags 0x80000601 0x0 ]                        [    0x777a954a8840] bci=[-1,1611,-] rc=0 vc=164 vn=- li=2 udi=- nc=2
 n2944n   (  0)    aladd (X>=0 internalPtr )                                                          [    0x777a954a87f0] bci=[-1,1611,-] rc=0 vc=164 vn=- li=2 udi=- nc=2 flg=0x8100
 n2932n   ( 32)      ==>newarray (in &GPR_0565) (highWordZero Unsigned X!=0 allocationCanBeRemoved )
 n39n     ( 63)      ==>lconst 8 (highWordZero X!=0 X>=0 )
 n2937n   ( 11)    bconst  13 (in GPR_0579) (X!=0 X>=0 )                                              [    0x777a954a85c0] bci=[-1,1611,-] rc=11 vc=164 vn=- li=2 udi=57200 nc=0 flg=0x104
------------------------------

 [    0x777a95c6dfe0]   1611    li      GPR_0579, 000000000000000D
 [    0x777a95c6e0f0]   1611    stb     [&GPR_0565, 8], GPR_0579                # SymRef  <array-shadow>[#249  Shadow] [flags 0x80000601 0x0 ]

============================================================
; Live regs: GPR=167 FPR=0 CCR=0 VRF=0 VSX_SCALAR=0 VSX_VECTOR=0 {GPR_0579, &GPR_0565, &GPR_0553, GPR_0539, GPR_0538, GPR_0537, GPR_0536, GPR_0535, GPR_0534, GPR_0533, GPR_0532, GPR_0531, GPR_0529, GPR_0528, GPR_0527, GPR_0526, GPR_0525, GPR_0524, GPR_0523, GPR_0522, GPR_0482, GPR_0481, GPR_0480, GPR_0479, GPR_0478, GPR_0477, GPR_0476, GPR_0475, GPR_0474, GPR_0473, GPR_0472, GPR_0432, GPR_0431, GPR_0430, GPR_0429, GPR_0428, GPR_0427, GPR_0426, GPR_0425, GPR_0424, GPR_0423, GPR_0422, GPR_0421, GPR_0420, GPR_0419, GPR_0418, GPR_0417, GPR_0377, GPR_0376, GPR_0375, GPR_0374, GPR_0373, GPR_0372, GPR_0371, GPR_0370, GPR_0369, GPR_0368, GPR_0367, GPR_0366, GPR_0365, GPR_0364, GPR_0363, GPR_0362, GPR_0322, GPR_0321, GPR_0320, GPR_0319, GPR_0318, GPR_0317, GPR_0316, GPR_0315, GPR_0314, GPR_0313, GPR_0311, GPR_0310, GPR_0309, GPR_0308, GPR_0307, GPR_0306, GPR_0305, GPR_0304, GPR_0303, GPR_0302, GPR_0262, GPR_0261, GPR_0260, GPR_0259, GPR_0258, GPR_0257, GPR_0256, GPR_0255, GPR_0254, GPR_0253, GPR_0252, GPR_0251, GPR_0250, GPR_0249, GPR_0248, GPR_0247, GPR_0246, GPR_0245, GPR_0244, GPR_0243, GPR_0242, GPR_0241, GPR_0240, GPR_0239, GPR_0199, GPR_0198, GPR_0197, GPR_0196, GPR_0195, GPR_0194, GPR_0193, GPR_0192, GPR_0191, GPR_0190, GPR_0189, GPR_0188, GPR_0187, GPR_0186, GPR_0185, GPR_0184, GPR_0183, GPR_0182, GPR_0181, GPR_0180, GPR_0179, GPR_0178, GPR_0177, GPR_0176, GPR_0175, GPR_0135, GPR_0134, GPR_0133, GPR_0132, GPR_0131, GPR_0130, GPR_0129, GPR_0128, GPR_0127, GPR_0126, GPR_0125, GPR_0124, GPR_0123, GPR_0122, GPR_0121, GPR_0120, GPR_0119, GPR_0118, GPR_0117, GPR_0116, GPR_0115, GPR_0114, GPR_0113, GPR_0112, GPR_0111, GPR_0110, GPR_0109, GPR_0108, GPR_0107, GPR_0106, GPR_0105, GPR_0081, GPR_0080, &GPR_0052, &GPR_0037}
-------------------------

spilled.aot.log

So, in this case, there are dependencies which can reach max of 255. To test this, increased the value of SENTINEL=65535. The test passes with this.