Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dylanjtuttle opened this issue Jul 11, 2023 · 4 comments · May be fixed by eclipse/omr#7242

Comments

@dylanjtuttle
Copy link
Contributor

dylanjtuttle commented Jul 11, 2023

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
Copy link
Contributor Author

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:

  • OMR::Power::RegisterDependencyConditions::assignPostConditionRegisters
  • OMR::Power::RegisterDependencyGroup::assignRegisters

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
Copy link
Contributor

zl-wang commented Nov 8, 2023

@bhavanisn please take this over (at lower priority)

@bhavanisn
Copy link
Contributor

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
Copy link
Contributor

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:

  • that block has lot of commoned registers and lots of spilling happening
  • some of those nodes have really high reference counts, like 147
  • This is causing register dependency to reach limits
  • virtual registers of these nodes will take time to be freed
   14027, JBbipush                                  28  
    14029, JBbipush                                  11  
    14031, JBbastore  
     treetop                                                                             [    0x7a4070d29ec0] bci=[-1,6,-] rc=0 vc=34 vn=- li=- udi=- nc=1
n12n        new  jitNewObject[#91  helper Method] [flags 0x400 0x0 ] (X!=0 )                  [    0x7a4070d29e70] bci=[-1,6,-] rc=147 vc=34 vn=- li=- udi=- nc=1 flg=0x4
n10n          ==>loadaddr
n14n      allocationFence on n12n (X==0 X>=0 X<=0 )                                           [    0x7a4070d29f10] bci=[-1,6,-] rc=0 vc=34 vn=- li=- udi=- nc=0 flg=0x302
n16n      ResolveCHK [#325]                                                                   [    0x7a4070d29fb0] bci=[-1,10,-] rc=0 vc=34 vn=- li=- udi=- nc=1
n15n        aload  <string>[#406  unresolved Static +962232920] [flags 0x80000307 0x0 ]       [    0x7a4070d29f60] bci=[-1,10,-] rc=2 vc=34 vn=- li=- udi=- nc=0
n19n      ResolveCHK [#32]                                                                    [    0x7a4070d2a0a0] bci=[-1,15,-] rc=0 vc=34 vn=- li=- udi=- nc=1
n18n        call  jdk/internal/module/ModuleHashes$Builder.<init>(Ljava/lang/String;I)V[#407  unresolved notAccessed special Method] [flags 0x400 0x0 ] ()  [    0x7a4070d2a050] bci=[-1,15,-] rc=1 vc=34 vn=- li=- udi=- nc=3 flg=0x20
n12n          ==>new
n15n          ==>aload
n17n          iconst 95 (X!=0 X>=0 ) 

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment