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.23k stars 712 forks source link

Assertion failure at omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto() #17817

Open dylanjtuttle opened 11 months ago

dylanjtuttle commented 11 months ago

The assertion at

/home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto()

fails in sanity.functional test cases JCL_Test_none_SCC_1 and JCL_Test_none_SCC_0 on ppc64le_linux for Java 11.

Link to the Jenkins job.

Stack trace:

org.openj9.test.java.lang.
Exception in thread "no-op thread" org.openj9.test.java.lang.Test_ThreadGroup$1UncaughtException
    at org.openj9.test.java.lang.Test_ThreadGroup$13.uncaughtException(Test_ThreadGroup.java:972) from jdk.internal.loader.ClassLoaders$AppClassLoader@9b602648(file:/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/jvmtest/functional/Java8andUp/GeneralTest.jar)
    at java.base/java.lang.Thread.uncaughtException(Thread.java:1363) from jrt:/java.base
org.openj9.test.java.lang.Test_Throwable$TestException: test
Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto()
VMState: 0x000563ff
    OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol
compiling java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String; at level: very-hot (profiling)
#0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef400) [0x7fff81caf400]
#1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02efc) [0x7fff81cc2efc]
#2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afb38) [0x7fff8186fb38]
#3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea4) [0x7fff8186fea4]
#4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x76e730) [0x7fff8182e730]
#5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x77a2a8) [0x7fff8183a2a8]
#6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f00b4) [0x7fff815b00b4]
#7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f1aa8) [0x7fff815b1aa8]
#8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f223c) [0x7fff815b223c]
#9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fcea8) [0x7fff81abcea8]
#10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fdcf4) [0x7fff81abdcf4]
#11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fee64) [0x7fff81abee64]
#12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73288c) [0x7fff817f288c]
#13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73b850) [0x7fff817fb850]
#14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17f2a8) [0x7fff8123f2a8]
#15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x180724) [0x7fff81240724]
#16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17d3f4) [0x7fff8123d3f4]
#18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17dbe0) [0x7fff8123dbe0]
#19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17be9c) [0x7fff8123be9c]
#20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c758) [0x7fff8123c758]
#21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c81c) [0x7fff8123c81c]
#22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17ce34) [0x7fff8123ce34]
#24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x113e8) [0x7fff828313e8]
#25: /lib64/libpthread.so.0(+0x9718) [0x7fff83339718]
#26: /lib64/libc.so.6(clone+0x74) [0x7fff831db578]

JIT: crashed while compiling java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String; (recoverable 0)
#0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef400) [0x7fff81caf400]
#1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02efc) [0x7fff81cc2efc]
#2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1626d8) [0x7fff812226d8]
#3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3d6a0) [0x7fff8289d6a0]
#4: function __kernel_sigtramp_rt64+0 [0]
#5: /lib64/libpthread.so.0(raise+0xd8) [0x7fff83349cd8]
#6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afcf0) [0x7fff8186fcf0]
#7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea8) [0x7fff8186fea8]
#8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x76e730) [0x7fff8182e730]
#9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x77a2a8) [0x7fff8183a2a8]
#10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f00b4) [0x7fff815b00b4]
#11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f1aa8) [0x7fff815b1aa8]
#12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f223c) [0x7fff815b223c]
#13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fcea8) [0x7fff81abcea8]
#14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fdcf4) [0x7fff81abdcf4]
#15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fee64) [0x7fff81abee64]
#16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73288c) [0x7fff817f288c]
#17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x73b850) [0x7fff817fb850]
#18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17f2a8) [0x7fff8123f2a8]
#19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x180724) [0x7fff81240724]
#20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17d3f4) [0x7fff8123d3f4]
#22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17dbe0) [0x7fff8123dbe0]
#23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17be9c) [0x7fff8123be9c]
#24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c758) [0x7fff8123c758]
#25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17c81c) [0x7fff8123c81c]
#26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x17ce34) [0x7fff8123ce34]
#28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9thr29.so(+0x113e8) [0x7fff828313e8]
#29: /lib64/libpthread.so.0(+0x9718) [0x7fff83339718]
Unhandled exception
Type=Unhandled trap vmState=0x000563ff
J9Generic_Signal_Number=00000108 Signal_Number=00000005 Error_Value=00000000 Signal_Code=fffffffa
Handler1=00007FFF82974A10 Handler2=00007FFF8289D440
R0=00000000000000AE R1=00007FFF60892CB0 R2=00007FFF83377F00 R3=0000000000000000
R4=00007FFF60892CD8 R5=0000000000000000 R6=0000000000000008 R7=0000000000000020
R8=0000000000000030 R9=0000000000000000 R10=0000000000000000 R11=0000000000000000
R12=0000000000000000 R13=00007FFF608A68E0 R14=00007FFEE7129010 R15=00007FFF81E3C8E0
R16=0000000000000000 R17=000000000000001A R18=0000000000000001 R19=00007FFF608930A8
R20=00007FFF41340000 R21=00007FFF81E3C7B0 R22=00007FFF81E3C7E8 R23=00007FFF413453A0
R24=00007FFF41345330 R25=00007FFEE7129100 R26=00007FFF41344F40 R27=00007FFF41340000
R28=00007FFF81E3CD70 R29=0000000000000005 R30=0000000000000000 R31=00007FFF60892CD8
NIP=00007FFF83349CD8 MSR=800000000280F033 ORIG_GPR3=0000000000000002 CTR=0000000000000000
LINK=00007FFF83349C48 XER=0000000000000000 CCR=0000000044028278 SOFTE=0000000000000001
TRAP=0000000000000C00 DAR=00007FFF60A50048 dsisr=0000000042000000 RESULT=0000000000000000
FPR0 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR1 0000006400000064 (f: 100.000000, d: 2.121996e-312)
FPR2 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR3 00007fff821c8440 (f: 2182906880.000000, d: 6.953251e-310)
FPR4 0000002e00000021 (f: 33.000000, d: 9.761181e-313)
FPR5 0000002a0000002b (f: 43.000000, d: 8.912382e-313)
FPR6 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR7 0000002200000023 (f: 35.000000, d: 7.214786e-313)
FPR8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR9 ffffffffffffffff (f: 4294967296.000000, d: -nan)
FPR10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR13 00007fff821c9530 (f: 2182911232.000000, d: 6.953251e-310)
FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/lib64/libpthread.so.0
Module_base_address=00007FFF83330000 Symbol=raise
Symbol_address=00007FFF83349C00

Method_being_compiled=java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String;
Target=2_90_20230718_1596 (Linux 4.18.0-477.15.1.el8_8.ppc64le)
CPU=ppc64le (4 logical CPUs) (0x1dcc80000 RAM)
----------- Stack Backtrace -----------
raise+0xd8 (0x00007FFF83349CD8 [libpthread.so.0+0x19cd8])
_ZN2TR4trapEv+0x70 (0x00007FFF8186FCF0 [libj9jit29.so+0x7afcf0])
_ZN2TR9assertionEPKciS1_S1_z+0x98 (0x00007FFF8186FEA8 [libj9jit29.so+0x7afea8])
_ZL19createSymRefForNodePN2TR11CompilationEPNS_20ResolvedMethodSymbolEPNS_4NodeEPNS_7TreeTopE+0xc20 (0x00007FFF8182E730 [libj9jit29.so+0x76e730])
_ZN3OMR5Block12splitPostGRAEPN2TR7TreeTopEPNS1_3CFGEbPNS1_20ResolvedMethodSymbolE+0x17f8 (0x00007FFF8183A2A8 [libj9jit29.so+0x77a2a8])
_ZN18TR_JProfilingValue17addProfilingTreesEPN2TR11CompilationEPNS0_7TreeTopEPNS0_4NodeEP32TR_AbstractHashTableProfilerInfobbb+0xda4 (0x00007FFF815B00B4 [libj9jit29.so+0x4f00b4])
_ZN18TR_JProfilingValue10lowerCallsEv+0x718 (0x00007FFF815B1AA8 [libj9jit29.so+0x4f1aa8])
_ZN18TR_JProfilingValue7performEv+0x8c (0x00007FFF815B223C [libj9jit29.so+0x4f223c])
_ZN3OMR9Optimizer19performOptimizationEPK20OptimizationStrategyiii+0xa78 (0x00007FFF81ABCEA8 [libj9jit29.so+0x9fcea8])
_ZN3OMR9Optimizer19performOptimizationEPK20OptimizationStrategyiii+0x18c4 (0x00007FFF81ABDCF4 [libj9jit29.so+0x9fdcf4])
_ZN3OMR9Optimizer8optimizeEv+0x2c4 (0x00007FFF81ABEE64 [libj9jit29.so+0x9fee64])
_ZN3OMR11Compilation20performOptimizationsEv+0x3c (0x00007FFF817F288C [libj9jit29.so+0x73288c])
_ZN3OMR11Compilation7compileEv+0x620 (0x00007FFF817FB850 [libj9jit29.so+0x73b850])
_ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadPNS_11CompilationEP17TR_ResolvedMethodR11TR_J9VMBaseP19TR_OptimizationPlanRKNS_16SegmentAllocatorE+0x548 (0x00007FFF8123F2A8 [libj9jit29.so+0x17f2a8])
_ZN2TR28CompilationInfoPerThreadBase14wrappedCompileEP13J9PortLibraryPv+0x384 (0x00007FFF81240724 [libj9jit29.so+0x180724])
omrsig_protect+0x358 (0x00007FFF8289E848 [libj9prt29.so+0x3e848])
_ZN2TR28CompilationInfoPerThreadBase7compileEP10J9VMThreadP21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x324 (0x00007FFF8123D3F4 [libj9jit29.so+0x17d3f4])
_ZN2TR24CompilationInfoPerThread12processEntryER21TR_MethodToBeCompiledRN2J917J9SegmentProviderE+0x280 (0x00007FFF8123DBE0 [libj9jit29.so+0x17dbe0])
_ZN2TR24CompilationInfoPerThread14processEntriesEv+0x3ac (0x00007FFF8123BE9C [libj9jit29.so+0x17be9c])
_ZN2TR24CompilationInfoPerThread3runEv+0xf8 (0x00007FFF8123C758 [libj9jit29.so+0x17c758])
_Z30protectedCompilationThreadProcP13J9PortLibraryPN2TR24CompilationInfoPerThreadE+0x9c (0x00007FFF8123C81C [libj9jit29.so+0x17c81c])
omrsig_protect+0x358 (0x00007FFF8289E848 [libj9prt29.so+0x3e848])
_Z21compilationThreadProcPv+0x234 (0x00007FFF8123CE34 [libj9jit29.so+0x17ce34])
thread_wrapper+0x1a8 (0x00007FFF828313E8 [libj9thr29.so+0x113e8])
start_thread+0xf8 (0x00007FFF83339718 [libpthread.so.0+0x9718])
clone+0x74 (0x00007FFF831DB578 [libc.so.6+0x13b578])
---------------------------------------
JVMDUMP039I Processing dump event "gpf", detail "" at 2023/07/18 10:03:07 - please wait.
JVMDUMP032I JVM requested System dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/core.20230718.100307.1746260.0001.dmp' in response to an event
JVMDUMP010I System dump written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/core.20230718.100307.1746260.0001.dmp
JVMDUMP032I JVM requested Java dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/javacore.20230718.100307.1746260.0002.txt' in response to an event
JVMDUMP010I Java dump written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/javacore.20230718.100307.1746260.0002.txt
JVMDUMP032I JVM requested Snap dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/Snap.20230718.100307.1746260.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/Snap.20230718.100307.1746260.0003.trc
JVMDUMP032I JVM requested JIT dump using '/home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/aqa-tests/TKG/output_1689696850975/JCL_Test_none_SCC_1/jitdump.20230718.100307.1746260.0004.dmp' in response to an event
JVMDUMP051I JIT dump occurred in 'JIT Compilation Thread-001' thread 0x000000000009A200
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
Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/ras/Tree.cpp:2398: debug("fixTrees")
VMState: 0x000563ff
    Tree verification error
compiling java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String; at level: very-hot (profiling)
#0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef400) [0x7fff81caf400]
#1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02efc) [0x7fff81cc2efc]
#2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afb38) [0x7fff8186fb38]
#3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea4) [0x7fff8186fea4]
#4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc2415c) [0x7fff81ce415c]
#5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc24088) [0x7fff81ce4088]
#6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc24510) [0x7fff81ce4510]
#7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x733cb4) [0x7fff817f3cb4]
#8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1b2dec) [0x7fff81272dec]
#9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1b2598) [0x7fff81272598]
#11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xc3e8) [0x7fff8221c3e8]
#12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0x4ea0) [0x7fff82214ea0]
#13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xb090) [0x7fff8221b090]
#15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xb290) [0x7fff8221b290]
#16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0x2e79c) [0x7fff8223e79c]
#17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9vm29.so(+0x447c4) [0x7fff829747c4]
#18: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#19: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9vm29.so(+0x44bc4) [0x7fff82974bc4]
#20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3d6a0) [0x7fff8289d6a0]
#21: function __kernel_sigtramp_rt64+0 [0]
#22: /lib64/libpthread.so.0(raise+0xd8) [0x7fff83349cd8]
#23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afcf0) [0x7fff8186fcf0]
#24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea8) [0x7fff8186fea8]
#25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x76e730) [0x7fff8182e730]
#26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x77a2a8) [0x7fff8183a2a8]
#27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f00b4) [0x7fff815b00b4]
#28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f1aa8) [0x7fff815b1aa8]
#29: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f223c) [0x7fff815b223c]

JVMDUMP052I JIT dump recursive crash occurred on diagnostic thread
JVMDUMP048I JIT dump method being compiled is an ordinary method
Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/openj9/runtime/compiler/infra/J9MonitorTable.cpp:255: false
VMState: 0x000563ff
    comp thread 1 does not have classUnloadMonitor
compiling java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String; at level: very-hot (profiling)
#0: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xbef400) [0x7fff81caf400]
#1: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0xc02efc) [0x7fff81cc2efc]
#2: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afb38) [0x7fff8186fb38]
#3: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea4) [0x7fff8186fea4]
#4: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x362ff4) [0x7fff81422ff4]
#5: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x2b1858) [0x7fff81371858]
#6: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x27e7c8) [0x7fff8133e7c8]
#7: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x1b26b4) [0x7fff812726b4]
#8: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xc3e8) [0x7fff8221c3e8]
#9: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0x4ea0) [0x7fff82214ea0]
#10: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#11: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xb090) [0x7fff8221b090]
#12: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0xb290) [0x7fff8221b290]
#13: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9dmp29.so(+0x2e79c) [0x7fff8223e79c]
#14: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9vm29.so(+0x447c4) [0x7fff829747c4]
#15: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3e848) [0x7fff8289e848]
#16: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9vm29.so(+0x44bc4) [0x7fff82974bc4]
#17: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9prt29.so(+0x3d6a0) [0x7fff8289d6a0]
#18: function __kernel_sigtramp_rt64+0 [0]
#19: /lib64/libpthread.so.0(raise+0xd8) [0x7fff83349cd8]
#20: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afcf0) [0x7fff8186fcf0]
#21: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x7afea8) [0x7fff8186fea8]
#22: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x76e730) [0x7fff8182e730]
#23: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x77a2a8) [0x7fff8183a2a8]
#24: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f00b4) [0x7fff815b00b4]
#25: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f1aa8) [0x7fff815b1aa8]
#26: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x4f223c) [0x7fff815b223c]
#27: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fcea8) [0x7fff81abcea8]
#28: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fdcf4) [0x7fff81abdcf4]
#29: /home/jenkins/workspace/Test_openjdk11_j9_sanity.functional_ppc64le_linux_Personal_testList_1/openjdkbinary/j2sdk-image/lib/default/libj9jit29.so(+0x9fee64) [0x7fff81abee64]

JVMDUMP013I Processed dump event "gpf", detail "".
-----------------------------------
JCL_Test_none_SCC_1_FAILED
dylanjtuttle commented 11 months ago

This assertion failure triggers two additional failures, namely [1]: omr/compiler/ras/Tree.cpp:2398: debug("fixTrees") [2]: openj9/runtime/compiler/infra/J9MonitorTable.cpp:255: false

hzongaro commented 11 months ago

Annabelle @a7ehuo, may I ask you to investigate the assertion failure in OMR::Symbol::castToAutoSymbol? I think the subsequent assertion failures in Tree.cpp and J9MonitorTable.cpp can be investigated as separate issues.

a7ehuo commented 11 months ago

So far I'm not able to repro the assert locally on Power. I have build with PROD_ASSUMES enabled. The test passes even though JCL_TEST_Test-Annotation-Package shows TestException [1]. There is no information or dump from TR_ASSERT.

Both the two jitdmp logs from JCL_Test_none_SCC_0 and JCL_Test_none_SCC_1 contain TREE VERIFICATION ERROR for su2i node. The jitdmp logs only have ILTrees during crash. There is no history to look at where the node is created/modified. The trees look from post GRA.

[1]

===============================================
Running test JCL_Test_none_SCC_1 ...
===============================================
...
...
===============================================
    JCL_TEST_Test-Annotation-Package
    Tests run: 2, Failures: 0, Skips: 0
===============================================

org.openj9.test.java.lang.
Exception in thread "no-op thread" org.openj9.test.java.lang.Test_ThreadGroup$1UncaughtException
    at org.openj9.test.java.lang.Test_ThreadGroup$13.uncaughtException(Test_ThreadGroup.java:972) from jdk.internal.loader.ClassLoaders$AppClassLoader@c3523170(file:/root/home/ahuo/src/jvmtest/functional/Java8andUp/GeneralTest.jar)
    at java.base/java.lang.Thread.uncaughtException(Thread.java:1363) from jrt:/java.base
org.openj9.test.java.lang.Test_Throwable$TestException: test
PASSED: dummyReflectHelper
PASSED: testDefaultMethodInheritance
...
...
TEST TARGETS SUMMARY
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PASSED test targets:
    JCL_Test_none_SCC_1 

TOTAL: 1   EXECUTED: 1   PASSED: 1   FAILED: 0   DISABLED: 0   SKIPPED: 0
ALL TESTS PASSED
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

[2]

TREE VERIFICATION ERROR -- node [    0x3fff53c6c8f0] ref count is 9 and should be 8
n12982n   iRegStore gr30                                                                      [    0x3fff53c6c990] bci=[155,64,702] rc=0 vc=3484 vn=- li=-2 udi=126 nc=1
n12980n     su2i (X>=0 )                                                                      [    0x3fff53c6c8f0] bci=[155,61,702] rc=9 vc=3484 vn=- li=-7 udi=- nc=1 flg=0x100
...
n38744n       PassThrough gr30                                                                [    0x3fff028e3e30] bci=[155,61,702] rc=1 vc=3484 vn=- li=-1 udi=- nc=1
n12980n         ==>su2i
...
n13192n   ificmplt --> block_2882 BBStart at n35729n ()                                       [    0x3fff53d00b40] bci=[156,3,8178] rc=0 vc=3484 vn=- li=-2 udi=- nc=3 flg=0x20
n12980n     ==>su2i
...
n38746n       PassThrough gr30                                                                [    0x3fff028e3ed0] bci=[155,61,702] rc=1 vc=3484 vn=- li=-1 udi=- nc=1
n12980n         ==>su2i
...
n32992n     call  unknown[#384  helper Method] [flags 0x400 0x0 ]                             [    0x3fff01a63840] bci=[156,6,8178] rc=1 vc=3484 vn=- li=-1 udi=- nc=2
n12980n       ==>su2i
...
n50750n   treetop                                                                             [    0x3fff0390e6f0] bci=[155,61,702] rc=0 vc=0 vn=- li=- udi=- nc=1
n12980n     ==>su2i
n13197n   ificmpge --> block_1296 BBStart at n15584n ()                                       [    0x3fff53d00cd0] bci=[156,9,8178] rc=0 vc=3484 vn=- li=-2 udi=- nc=3 flg=0x20
n12980n     ==>su2i
...
n38750n   istore  <auto slot 10>[#1467  Auto] [flags 0x3 0x0 ]                                [    0x3fff028e4010] bci=[155,61,702] rc=0 vc=3484 vn=- li=-2 udi=- nc=1
n12980n     ==>su2i
a7ehuo commented 11 months ago

After disabling the other two other asserts, I was able to get a full jitdump log for the first assert (There are also other errors from the IL trees, but for now I'm focusing on this first assert).

Assertion failed at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto()
VMState: 0x000563ff
    OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol: this 0x735af83f52e0
compiling java/lang/StringUTF16.toLowerCase(Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String; at level: very-hot (profiling)

The backtrace [1] shows it happened in createSymRefForNode triggered by OMR::Block::splitPostGRA during jProfilingValue. In this particular case, valueChild is aRegLoad (n37706n) and valueChildSymRef is a parm symbol instead of auto [2].

               if (valueChildSymRef != NULL &&
                  ((valueChild->getOpCode().isLoadVarDirect() && valueChildSymRef->getSymbol()->isAuto()) ||
                  (valueChild->getOpCode().isLoadReg() && valueChildSymRef->getSymbol()->castToAutoSymbol()->isInternalPointer())))

@r30shah I wonder if the intended condition check here should have always checked valueChildSymRef->getSymbol()->isAuto() as below:

               if (valueChildSymRef != NULL && 
                  valueChildSymRef->getSymbol()->isAuto() &&
                  (valueChild->getOpCode().isLoadVarDirect() ||
                     (valueChild->getOpCode().isLoadReg() && valueChildSymRef->getSymbol()->castToAutoSymbol()->isInternalPointer())))

[1]

#13 <signal handler called>
#14 0x0000735b2276d168 in raise () from /lib/powerpc64le-linux-gnu/libc.so.6
#15 0x0000735b20e39250 in TR::trap () at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/infra/Assert.cpp:67
#16 0x0000735b20e3940c in TR::va_fatal_assertion (ap=0x735b00bc2ac0 "\340R?\370Zs", 
    format=0x735b21415c98 "OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol: this %p", 
    condition=0x735b21415ce8 "self()->isAuto()", line=53, 
    file=0x735b214156f0 "/root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRSymbol_inlines.hpp")
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/infra/Assert.cpp:139
#17 TR::assertion (file=0x735b214156f0 "/root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRSymbol_inlines.hpp", 
    line=<optimized out>, condition=0x735b21415ce8 "self()->isAuto()", 
    format=0x735b21415c98 "OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol: this %p")
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/infra/Assert.cpp:156
#18 0x0000735b20defc90 in OMR::Symbol::castToAutoSymbol (this=0x735af83f52e0)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRSymbol_inlines.hpp:53
#19 createSymRefForNode (comp=comp@entry=0x735af83f0000, methodSymbol=methodSymbol@entry=0x735af83f4ef0, 
    value=value@entry=0x735af905fe60, insertBefore=0x735aa3841950)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRBlock.cpp:1183
#20 0x0000735b20dfd040 in OMR::Block::splitPostGRA (this=<optimized out>, startOfNewBlock=<optimized out>, cfg=<optimized out>, 
    copyExceptionSuccessors=<optimized out>, methodSymbol=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRBlock.hpp:272
#21 0x0000735b20b6b0c4 in TR_JProfilingValue::addProfilingTrees (comp=0x735af83f0000, insertionPoint=0x735aa2dedf60, 
    value=0x735af905c710, table=0x735afb31f060, addNullCheck=<optimized out>, extendBlocks=<optimized out>, trace=<optimized out>)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRTreeTop_inlines.hpp:45
#22 0x0000735b20b6c52c in TR_JProfilingValue::lowerCalls (this=0x735aa3635f00)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/openj9/runtime/compiler/optimizer/JProfilingValue.cpp:364
#23 0x0000735b20b6c998 in TR_JProfilingValue::perform (this=0x735aa3635f00)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/openj9/runtime/compiler/optimizer/JProfilingValue.cpp:187
#24 0x0000735b2108bb5c in OMR::Optimizer::performOptimization (this=0x735af84b0b10, optimization=<optimized out>, 
    firstOptIndex=<optimized out>, lastOptIndex=<optimized out>, doTiming=<optimized out>)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/optimizer/OMROptimizer.cpp:2064
#25 0x0000735b2108c22c in OMR::Optimizer::performOptimization (this=0x735af84b0b10, optimization=<optimized out>, 
    firstOptIndex=<optimized out>, lastOptIndex=<optimized out>, doTiming=<optimized out>)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/optimizer/OMROptimizer.cpp:1611
#26 0x0000735b2108db14 in OMR::Optimizer::optimize (this=0x735af84b0b10)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/optimizer/OMROptimizer.cpp:1128
 -Xjit:vmState=0x000563ff
vmState [0x563ff]: {J9VMSTATE_JIT} {jProfilingValue}

[2]

#19 createSymRefForNode (comp=comp@entry=0x735af83f0000, methodSymbol=methodSymbol@entry=0x735af83f4ef0, 
    value=value@entry=0x735af905fe60, insertBefore=0x735aa3841950)
    at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRBlock.cpp:1183
1183                      (valueChild->getOpCode().isLoadReg() && valueChildSymRef->getSymbol()->castToAutoSymbol()->isInternalPointer())))

(gdb) p valueChild
$4 = (TR::Node *) 0x735aa283f9b0

(gdb) p *valueChildSymRef
$6 = {<J9::SymbolReference> = {<OMR::SymbolReference> = {
      _vptr.SymbolReference = 0x735b216cbb48 <vtable for TR::SymbolReference+16>, _symbol = 0x735af83f52e0, _extraInfo = 0x0, 
      _offset = 0, _size = 4164899568, _owningMethodIndex = {_value = 0}, _cpIndex = 1, _unresolvedIndex = 0, 
      _referenceNumber = 401, _flags = {_flags = 536870912}, _knownObjectIndex = -1, {_useDefAliases = 0x0, 
        _independentSymRefs = 0x0}}, <No data fields>}, <No data fields>}
(gdb) p *(valueChildSymRef->_symbol)
$7 = {<J9::Symbol> = {<OMR::Symbol> = {_vptr.Symbol = 0x735b216e3ce0 <vtable for TR::ParameterSymbol+16>, _size = 8, _name = 0x0, 
      _declaredClass = 0x0, _flags = {_flags = 1073742087}, _flags2 = {_flags = 0}, _localIndex = 229}, 
    _recognizedField = 4294967295}, <No data fields>}
n37706n       aRegLoad gr18   <parm 1 [B>[#401  Parm] [flags 0x40000107 0x0 ] (X!=0 SeenRealReference )  [    0x735aa283f9b0] bci=[155,58,702] rc=11 vc=3343 vn=- li=-11 udi=- nc=0 flg=0x8004
n12976n   iRegStore gr30                                                                      [    0x735af905c7b0] bci=[155,64,702] rc=0 vc=3343 vn=- li=-2 udi=95 nc=1
n12974n     su2i (X>=0 )                                                                      [    0x735af905c710] bci=[155,61,702] rc=9 vc=3343 vn=- li=-7 udi=- nc=1 flg=0x100
n13152n       sloadi  <array-shadow>[#248  Shadow] [flags 0x80000601 0x0 ] (cannotOverflow )  [    0x735af905feb0] bci=[155,61,702] rc=1 vc=3343 vn=- li=-1 udi=- nc=1 flg=0x1000
n13151n         aladd (X>=0 internalPtr )                                                     [    0x735af905fe60] bci=[155,58,702] rc=2 vc=3343 vn=- li=-2 udi=- nc=2 flg=0x8100
n37706n           ==>aRegLoad
a7ehuo commented 11 months ago

I run JCL_Test_none_SCC_1 x150 with the proposed fix. I no longer reproduce the following two asserts in jProfilingValue.

1. Assertion failed at /root/home/ahuo/src/openj9-openjdk-jdk11/omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto()
VMState: 0x000563ff
    OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol: this 0x735af83f52e0

2. Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/ras/Tree.cpp:2398: debug("fixTrees")
VMState: 0x000563ff
    Tree verification error

I'd like to point out assert 2, IL verification error, is related to assert 1. 0x735aa283f9b0 is the valueChild. Its symref valueChildSymRef is the one that casts parm symbol to auto.

TREE VERIFICATION ERROR -- node [    0x735af905c710] ref count is 9 and should be 8
BLOCK VERIFICATION ERROR -- node [    0x735aa283f9b0] accessed outside of its (extended) basic block: 7 time(s)
</ilOfCrashedThread>
n37706n       aRegLoad gr18   <parm 1 [B>[#401  Parm] [flags 0x40000107 0x0 ] (X!=0 SeenRealReference )  [    0x735aa283f9b0] bci=[155,58,702] rc=11 vc=3343 vn=- li=-11 udi=- nc=0 flg=0x8004
n12976n   iRegStore gr30                                                                      [    0x735af905c7b0] bci=[155,64,702] rc=0 vc=3343 vn=- li=-2 udi=95 nc=1
n12974n     su2i (X>=0 )                                                                      [    0x735af905c710] bci=[155,61,702] rc=9 vc=3343 vn=- li=-7 udi=- nc=1 flg=0x100
n13152n       sloadi  <array-shadow>[#248  Shadow] [flags 0x80000601 0x0 ] (cannotOverflow )  [    0x735af905feb0] bci=[155,61,702] rc=1 vc=3343 vn=- li=-1 udi=- nc=1 flg=0x1000
n13151n         aladd (X>=0 internalPtr )                                                     [    0x735af905fe60] bci=[155,58,702] rc=2 vc=3343 vn=- li=-2 udi=- nc=2 flg=0x8100
n37706n           ==>aRegLoad

With the proposed fix, I see intermittent assert in idiomRecognition which is reported in #17819, which I don't think related to these two asserts from jProfilingValue.

Assertion failed at /root/home/ahuo/src/openj9-openjdk-jdk11/openj9/runtime/compiler/optimizer/IdiomRecognition.cpp:6692: false
VMState: 0x000544ff
        not implemented yet
compiling java/lang/AbstractStringBuilder.append([C)Ljava/lang/AbstractStringBuilder; at level: hot
r30shah commented 11 months ago

Hi @a7ehuo , do you have a JITDUMP when you hit the Assert 1 mentioned in https://github.com/eclipse-openj9/openj9/issues/17817#issuecomment-1663957089 and also JITDUMP when Assert 2 mentioned in the same commit is hit ? I wonder those two are related. Though looking into the intention of that condition, what you recommended should be the right check.

a7ehuo commented 11 months ago

do you have a JITDUMP when you hit the Assert 1 mentioned in https://github.com/eclipse-openj9/openj9/issues/17817#issuecomment-1663957089 and also JITDUMP when Assert 2 mentioned in the same commit is hit

Here is the jitdump: jitdump.20230801.091548.19259.0004.dmp.zip

The jitdump recompilation didn't repro the assert. The IL trees from the crash (ilOfCrashedThread) shows the issue from assert 1 and assert 2.

0x735af905c710 is n12974n su2i 0x735aa283f9b0 is n37706n aRegLoad gr18 <parm 1 [B>[#401 Parm] <== valueChild

TREE VERIFICATION ERROR -- node [    0x735af905c710] ref count is 9 and should be 8
BLOCK VERIFICATION ERROR -- node [    0x735aa283f9b0] accessed outside of its (extended) basic block: 7 time(s)
</ilOfCrashedThread>
n12969n   BBStart <block_1219> (freq 791)                                                     [    0x735af905c580] bci=[156,0,8178] rc=0 vc=3343 vn=- li=-2 udi=- nc=1
n37697n     GlRegDeps ()                                                                      [    0x735aa283f6e0] bci=[156,0,8178] rc=1 vc=3343 vn=- li=-1 udi=- nc=9 flg=0x20
n37698n       aRegLoad gr5   <parm 2 Ljava/util/Locale;>[#402  Parm] [flags 0x40000107 0x0 ]  [    0x735aa283f730] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37699n       aRegLoad gr3   <parm 0 Ljava/lang/String;>[#400  Parm] [flags 0x40000107 0x0 ]  [    0x735aa283f780] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37700n       iRegLoad gr26   <auto slot 6>[#1459  Auto] [flags 0x3 0x0 ]                     [    0x735aa283f7d0] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37701n       iRegLoad gr24   <auto slot 9>[#1461  Auto] [flags 0x3 0x0 ] (X>=0 cannotOverflow SeenRealReference )  [    0x735aa283f820] bci=[155,59,702] rc=12 vc=3343 vn=- li=-12 udi=- nc=0 flg=0x9100
n37702n       aRegLoad gr23   <temp slot 17>[#1238  Auto] [flags 0x20000007 0x0 ]             [    0x735aa283f870] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37703n       iRegLoad gr22   <temp slot 113>[#2381  Auto] [flags 0x3 0x0 ]                   [    0x735aa283f8c0] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37704n       iRegLoad gr21   <auto slot 7>[#1460  Auto] [flags 0x3 0x0 ]                     [    0x735aa283f910] bci=[156,0,8178] rc=10 vc=3343 vn=- li=-10 udi=- nc=0
n37705n       iRegLoad gr19   <temp slot 107>[#2375  Auto] [flags 0x3 0x0 ] (X!=0 X>=0 cannotOverflow SeenRealReference )  [    0x735aa283f960] bci=[156,1,8178] rc=12 vc=3343 vn=- li=-12 udi=- nc=0 flg=0x49104
n37706n       aRegLoad gr18   <parm 1 [B>[#401  Parm] [flags 0x40000107 0x0 ] (X!=0 SeenRealReference )  [    0x735aa283f9b0] bci=[155,58,702] rc=11 vc=3343 vn=- li=-11 udi=- nc=0 flg=0x8004
n12976n   iRegStore gr30                                                                      [    0x735af905c7b0] bci=[155,64,702] rc=0 vc=3343 vn=- li=-2 udi=95 nc=1
n12974n     su2i (X>=0 )                                                                      [    0x735af905c710] bci=[155,61,702] rc=9 vc=3343 vn=- li=-7 udi=- nc=1 flg=0x100
n13152n       sloadi  <array-shadow>[#248  Shadow] [flags 0x80000601 0x0 ] (cannotOverflow )  [    0x735af905feb0] bci=[155,61,702] rc=1 vc=3343 vn=- li=-1 udi=- nc=1 flg=0x1000
n13151n         aladd (X>=0 internalPtr )                                                     [    0x735af905fe60] bci=[155,58,702] rc=2 vc=3343 vn=- li=-2 udi=- nc=2 flg=0x8100
n37706n           ==>aRegLoad
a7ehuo commented 11 months ago

With https://github.com/eclipse/omr/pull/7087, I haven't been able to reproduce the second and the third asserts.

a7ehuo commented 10 months ago

The first assertion in OMRSymbol_inlines.hpp:53 should now be fixed in https://github.com/eclipse/omr/pull/7087

Assertion failed at /home/jenkins/workspace/Build_JDK11_ppc64le_linux_Personal/omr/compiler/il/OMRSymbol_inlines.hpp:53: self()->isAuto()
VMState: 0x000563ff
    OMR::Symbol::castToAutoSymbo, symbol is not an automatic symbol
hzongaro commented 10 months ago

Moving investigation of the remaining assertion failures to 0.43.