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

Eclipse 2021-12 crashes very often after switching from jdk 11 to jdk 17 #14489

Closed
c-koell opened this issue Feb 11, 2022 · 32 comments · Fixed by eclipse/omr#6619
Closed

Eclipse 2021-12 crashes very often after switching from jdk 11 to jdk 17 #14489

c-koell opened this issue Feb 11, 2022 · 32 comments · Fixed by eclipse/omr#6619
Assignees
Labels
comp:jit segfault Issues that describe segfaults / JVM crashes userRaised

Comments

@c-koell
Copy link

c-koell commented Feb 11, 2022

Java -version output

openjdk 11 ->
openjdk version "11.0.14" 2022-01-18
IBM Semeru Runtime Open Edition 11.0.14.0 (build 11.0.14+9)
Eclipse OpenJ9 VM 11.0.14.0 (build openj9-0.30.0, JRE 11 Windows 10 amd64-64-Bit Compressed References 20220128_296 (JIT enabled, AOT enabled)

openjdk 17 ->
openjdk version "17.0.2" 2022-01-18
IBM Semeru Runtime Open Edition 17.0.2.0 (build 17.0.2+8)
Eclipse OpenJ9 VM 17.0.2.0 (build openj9-0.30.0, JRE 17 Windows 10 amd64-64-Bit Compressed References 20220128_95 (JIT enabled, AOT enabled)

Summary of problem

Nothing special .. After working some time in eclipse it crashes ...

Diagnostic files

I will attach the generated dump files from the crash.

@c-koell
Copy link
Author

c-koell commented Feb 11, 2022

The dump is 300Mb as ziped file, can i attach it here ?

@pshipton
Copy link
Member

You can try, as long as github accepts it.

@pshipton pshipton added this to the Backlog milestone Feb 11, 2022
@c-koell
Copy link
Author

c-koell commented Feb 14, 2022

javacore.20220211.110201.11772.0002.txt
The Javacore File

@c-koell
Copy link
Author

c-koell commented Feb 14, 2022

We are using lombok and i have found a similar error
projectlombok/lombok#3084

@c-koell
Copy link
Author

c-koell commented Feb 14, 2022

The dump file is to big to upload ...

@pshipton
Copy link
Member

You can use a file sharing service for the system dump.

@pshipton pshipton added the segfault Issues that describe segfaults / JVM crashes label Feb 14, 2022
@pshipton
Copy link
Member

@0xdaryl fyi

The javacore shows

1XHEXCPMODULE  Compiling method: lombok/core/configuration/BubblingConfigurationResolver.resolve(Llombok/core/configuration/ConfigurationKey;)Ljava/lang/Object;
NULL
1XHFLAGS       VM flags:00000000000514FF

vmState [0x514ff]: {J9VMSTATE_JIT} {globalValuePropagation}

@0xdaryl
Copy link
Contributor

0xdaryl commented Feb 14, 2022

@c-koell : in the same directory where you found the core and javacore, can you see if there are any "jitdump" files produced? Could you upload those?

If this crashes consistently in the same place, could you add the following to the JVM command-line and re-run please? (this will enable JIT compile tracing for that method and place the info in a file called tracevplog.txt)

'-Xjit:{*BubblingConfigurationResolver.resolve*}(tracefull,traceGlobalVP,log=tracevplog.txt)'

Please upload the tracevplog.txt (compress if you have to)?

@BradleyWood : once a system dump and hopefully trace file is made available could you start looking into this crash please?

@BradleyWood
Copy link
Member

Looks to be the same issue as reported to Project Lombok on linux with JDK11 0.29. @c-koell Are you sure this only happens on JDK17, and is it intermittent?

You can also set TR_Options environment variable if your jvm is invoked via maven or some other build system.

TR_Options="{*BubblingConfigurationResolver.resolve*}(count=0,tracefull,traceGlobalVP,log=tracevplog.txt)"

You could also try to exclude that method from compilation as a work-around.

TR_Options="exclude={*BubblingConfigurationResolver*}"

I wasn't able to reproduce a crash with a trivial example program using project lombok.

@c-koell
Copy link
Author

c-koell commented Feb 15, 2022

I have seen the crash also on jdk11 but very rarly. I have a workspace where i can easily reproduce the crash.

I have attached all files under this fileshare url. Please use "jwgngGsgNs" as password.

If i use '-Xjit:{BubblingConfigurationResolver.resolve}(tracefull,traceGlobalVP,log=tracevplog.txt)' the crash does not occur

@0xdaryl
Copy link
Contributor

0xdaryl commented Feb 15, 2022

If i use '-Xjit:{BubblingConfigurationResolver.resolve}(tracefull,traceGlobalVP,log=tracevplog.txt)' the crash does not occur

Did you include the asterisks (*) inside the regex? They are required. i.e.,{*BubblingConfigurationResolver.resolve*}

@BradleyWood
Copy link
Member

Dumping the backtrace...

0:004> 
 # Child-SP          RetAddr               Call Site
00 00000098`1a7f2418 00007ff8`c5d21a5e     ntdll!NtWaitForSingleObject+0x14
01 00000098`1a7f2420 00007ff8`a7258d70     KERNELBASE!WaitForSingleObjectEx+0x8e
02 00000098`1a7f24c0 00007ff8`add55633     j9prt29!omrdump_create+0x300 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win32\omrosdump.c @ 185] 
03 00000098`1a7f2560 00007ff8`add55125     j9dmp29!doSystemDump+0xa3 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\rasdump\dmpagent.c @ 747] 
04 00000098`1a7f25c0 00007ff8`a725b386     j9dmp29!protectedDumpFunction+0x15 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\rasdump\dmpagent.c @ 2843] 
05 00000098`1a7f25f0 00007ff8`a725cac3     j9prt29!runInTryExcept+0x16 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 220] 
06 00000098`1a7f2630 00007ff8`add53082     j9prt29!omrsig_protect+0x213 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 285] 
07 (Inline Function) --------`--------     j9dmp29!runDumpFunction+0x6f [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\rasdump\dmpagent.c @ 2821] 
08 00000098`1a7f2810 00007ff8`add6afd6     j9dmp29!runDumpAgent+0x2f2 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\rasdump\dmpagent.c @ 2751] 
09 00000098`1a7f2cf0 00007ff8`a63b988f     j9dmp29!triggerDumpAgents+0x3a6 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\rasdump\trigger.c @ 1013] 
0a 00000098`1a7f3050 00007ff8`a725b386     j9vm29!generateDiagnosticFiles+0x1ef [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\vm\gphandle.c @ 1163] 
0b 00000098`1a7f3510 00007ff8`a725cac3     j9prt29!runInTryExcept+0x16 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 220] 
0c 00000098`1a7f3550 00007ff8`a63b9a92     j9prt29!omrsig_protect+0x213 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 285] 
0d 00000098`1a7f3730 00007ff8`a725b2af     j9vm29!vmSignalHandler+0x1d2 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\vm\gphandle.c @ 839] 
0e 00000098`1a7f4620 00007ff8`a7286c53     j9prt29!structuredExceptionHandler+0x16f [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 1300] 
0f 00000098`1a7f4810 00007ff8`c081e390     j9prt29!runInTryExcept$filt$0+0x23 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 221] 
10 00000098`1a7f4850 00007ff8`c83320cf     VCRUNTIME140!_C_specific_handler+0xa0
11 00000098`1a7f48c0 00007ff8`c82e1454     ntdll!_chkstk+0x11f
12 00000098`1a7f48f0 00007ff8`c8330bfe     ntdll!RtlRaiseException+0x434
13 00000098`1a7f5000 00007ff8`875d06e1     ntdll!KiUserExceptionDispatcher+0x2e
14 (Inline Function) --------`--------     j9jit29!TR::VPConstraint::priority+0x3 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\VPConstraint.hpp @ 238] 
15 00000098`1a7f5790 00007ff8`876038ea     j9jit29!TR::VPConstraint::intersect+0x81 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\VPConstraint.cpp @ 2738] 
16 00000098`1a7f57c0 00007ff8`876036b2     j9jit29!OMR::ValuePropagation::addGlobalConstraint+0x21a [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 642] 
17 00000098`1a7f5840 00007ff8`8761a7c0     j9jit29!OMR::ValuePropagation::addGlobalConstraint+0x102 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 601] 
18 00000098`1a7f58a0 00007ff8`875efad3     j9jit29!OMR::ValuePropagation::getConstraint+0x110 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\ValuePropagationCommon.cpp @ 507] 
19 00000098`1a7f5900 00007ff8`875f8c32     j9jit29!canFoldNonOverriddenGuard+0x63 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\VPHandlers.cpp @ 5413] 
1a 00000098`1a7f5950 00007ff8`8761d3b3     j9jit29!constrainIfcmpeqne+0x1252 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\VPHandlers.cpp @ 9504] 
1b 00000098`1a7f5a90 00007ff8`8761acb1     j9jit29!OMR::ValuePropagation::launchNode+0x83 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\ValuePropagationCommon.cpp @ 4049] 
1c 00000098`1a7f5ae0 00007ff8`876172bb     j9jit29!OMR::ValuePropagation::processTrees+0x2c1 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\ValuePropagationCommon.cpp @ 664] 
1d 00000098`1a7f5b50 00007ff8`876152b3     j9jit29!TR::GlobalValuePropagation::processBlock+0x43b [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4711] 
1e 00000098`1a7f5c00 00007ff8`87616e64     j9jit29!TR::GlobalValuePropagation::processStructure+0x193 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4103] 
1f 00000098`1a7f5c40 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x264 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4573] 
20 00000098`1a7f5c90 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
21 00000098`1a7f5ce0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
22 00000098`1a7f5d30 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
23 00000098`1a7f5d80 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
24 00000098`1a7f5dd0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
25 00000098`1a7f5e20 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
26 00000098`1a7f5e70 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
27 00000098`1a7f5ec0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
28 00000098`1a7f5f10 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
29 00000098`1a7f5f60 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2a 00000098`1a7f5fb0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2b 00000098`1a7f6000 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2c 00000098`1a7f6050 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2d 00000098`1a7f60a0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2e 00000098`1a7f60f0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
2f 00000098`1a7f6140 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
30 00000098`1a7f6190 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
31 00000098`1a7f61e0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
32 00000098`1a7f6230 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
33 00000098`1a7f6280 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
34 00000098`1a7f62d0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
35 00000098`1a7f6320 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
36 00000098`1a7f6370 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
37 00000098`1a7f63c0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
38 00000098`1a7f6410 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
39 00000098`1a7f6460 00007ff8`87616b55     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
3a 00000098`1a7f64b0 00007ff8`876159bf     j9jit29!TR::GlobalValuePropagation::processRegionSubgraph+0xa5 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4489] 
3b 00000098`1a7f6540 00007ff8`87615236     j9jit29!TR::GlobalValuePropagation::processNaturalLoop+0x62f [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4211] 
3c 00000098`1a7f6680 00007ff8`87616e64     j9jit29!TR::GlobalValuePropagation::processStructure+0x116 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4091] 
3d 00000098`1a7f66c0 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x264 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4573] 
3e 00000098`1a7f6710 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
3f 00000098`1a7f6760 00007ff8`87616c71     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
40 00000098`1a7f67b0 00007ff8`87616b55     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x71 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4515] 
41 00000098`1a7f6800 00007ff8`876151f1     j9jit29!TR::GlobalValuePropagation::processRegionSubgraph+0xa5 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4489] 
42 (Inline Function) --------`--------     j9jit29!TR::GlobalValuePropagation::processAcyclicRegion+0x35 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4112] 
43 00000098`1a7f6890 00007ff8`87616e64     j9jit29!TR::GlobalValuePropagation::processStructure+0xd1 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4086] 
44 00000098`1a7f68d0 00007ff8`87616b55     j9jit29!TR::GlobalValuePropagation::processRegionNode+0x264 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4573] 
45 00000098`1a7f6920 00007ff8`876151f1     j9jit29!TR::GlobalValuePropagation::processRegionSubgraph+0xa5 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4489] 
46 (Inline Function) --------`--------     j9jit29!TR::GlobalValuePropagation::processAcyclicRegion+0x35 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4112] 
47 00000098`1a7f69b0 00007ff8`87614e37     j9jit29!TR::GlobalValuePropagation::processStructure+0xd1 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4086] 
48 (Inline Function) --------`--------     j9jit29!TR::GlobalValuePropagation::determineConstraints+0x97 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 4069] 
49 00000098`1a7f69f0 00007ff8`875168ee     j9jit29!TR::GlobalValuePropagation::perform+0x4f7 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMRValuePropagation.cpp @ 3818] 
4a 00000098`1a7f7b60 00007ff8`87515530     j9jit29!OMR::Optimizer::performOptimization+0x16ee [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMROptimizer.cpp @ 2053] 
4b 00000098`1a7f8de0 00007ff8`87515530     j9jit29!OMR::Optimizer::performOptimization+0x330 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMROptimizer.cpp @ 1600] 
4c 00000098`1a7fa060 00007ff8`875134f5     j9jit29!OMR::Optimizer::performOptimization+0x330 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMROptimizer.cpp @ 1600] 
4d 00000098`1a7fb2e0 00007ff8`873ba07c     j9jit29!OMR::Optimizer::optimize+0x3c5 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\optimizer\OMROptimizer.cpp @ 1129] 
4e (Inline Function) --------`--------     j9jit29!OMR::Compilation::performOptimizations+0x26 [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\compile\OMRCompilation.cpp @ 1269] 
4f 00000098`1a7fcc00 00007ff8`87118e0f     j9jit29!OMR::Compilation::compile+0x67c [c:\workspace\openjdk-build\workspace\build\src\omr\compiler\compile\OMRCompilation.cpp @ 1066] 
50 00000098`1a7fdc30 00007ff8`8711c09d     j9jit29!TR::CompilationInfoPerThreadBase::compile+0x75f [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 9279] 
51 00000098`1a7fdd90 00007ff8`a725b386     j9jit29!TR::CompilationInfoPerThreadBase::wrappedCompile+0x151d [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 8782] 
52 00000098`1a7fdf30 00007ff8`a725cac3     j9prt29!runInTryExcept+0x16 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 220] 
53 00000098`1a7fdf70 00007ff8`871185e0     j9prt29!omrsig_protect+0x213 [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 285] 
54 00000098`1a7fe150 00007ff8`8711e512     j9jit29!TR::CompilationInfoPerThreadBase::compile+0x3e0 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 7798] 
55 00000098`1a7ff420 00007ff8`8711defa     j9jit29!TR::CompilationInfoPerThread::processEntry+0x342 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 4241] 
56 00000098`1a7ff4b0 00007ff8`8712a4d4     j9jit29!TR::CompilationInfoPerThread::processEntries+0x13a [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 3933] 
57 (Inline Function) --------`--------     j9jit29!TR::CompilationInfoPerThread::run+0x137 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 3798] 
58 00000098`1a7ff590 00007ff8`a725cafe     j9jit29!protectedCompilationThreadProc+0x274 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 3732] 
59 00000098`1a7ff5d0 00007ff8`8712a1d1     j9prt29!omrsig_protect+0x24e [c:\workspace\openjdk-build\workspace\build\src\omr\port\win64amd\omrsignal.c @ 297] 
5a 00000098`1a7ff7b0 00007ff8`bd394242     j9jit29!compilationThreadProc+0x271 [c:\workspace\openjdk-build\workspace\build\src\openj9\runtime\compiler\control\CompilationThread.cpp @ 3640] 
5b 00000098`1a7ff800 00007ff8`c5c21bb2     j9thr29!thread_wrapper+0xf2 [c:\workspace\openjdk-build\workspace\build\src\omr\thread\common\omrthread.c @ 1737] 
5c 00000098`1a7ff830 00007ff8`c6fc7034     ucrtbase!configthreadlocale+0x92
5d 00000098`1a7ff860 00007ff8`c82e2651     kernel32!BaseThreadInitThunk+0x14
5e 00000098`1a7ff890 00000000`00000000     ntdll!RtlUserThreadStart+0x21

@BradleyWood
Copy link
Member

@c-koell c-koell closed this as completed Feb 16, 2022
@c-koell c-koell reopened this Feb 16, 2022
@c-koell
Copy link
Author

c-koell commented Feb 16, 2022

Sorry i have accidentally closed this issue :-)

@c-koell
Copy link
Author

c-koell commented Feb 16, 2022

-Xjit:{BubblingConfigurationResolver.resolve}(tracefull,traceGlobalVP,log=tracevplog.txt)

I have used -Xjit:{*BubblingConfigurationResolver.resolve*}(tracefull,traceGlobalVP,log=tracevplog.txt) in the eclipse.ini

@BradleyWood
Copy link
Member

Based on debugging information from core file, applyGlobalConstraints() fails join two constraints which causes a failure when adding the global constraint.

At TR::VPConstraint::intersect(...) (called from applyGlobalConstraints(...) )
'this' is a VPNullObject(_mergePriority=4) and 'other' is VPClass (_mergePriority=10)

Therefore, we end up at TR::VPClass::intersect1(...)

Since both constraints are not a class object and one is a VPNullObject, we end up here.

At this point, (this (VPClass))->_presense is a VPNonNullObject so the call to isNonNullObject() returns true. Therefore the result of the intersection is null.

@BradleyWood
Copy link
Member

@c-koell I was wondering if you could provide some detailed instructions to reproduce the issue.

@c-koell
Copy link
Author

c-koell commented Feb 27, 2022

Hi @BradleyWood ... really nothing special. After opening the workspace i right click on the project and execute "Maven -> Update Project"
Eclipse crashes then immediately ..

@BradleyWood
Copy link
Member

@c-koell I tried the following but couldn't reproduce like that. Here are the steps I tried, correct me if I missed something.

  • Created an example maven project with lombok dependency -> org.projectlombok:lombok:1.18.22
    • Used annotations @Data, @Builder, @EqualsAndHashCode, @SneakyThrows, @Synchronized
  • Opened eclipse
    • Maven -> Update Project
  • Also tried building from command line with maven

Perhaps its something specific to your project that makes the issue more apparent. Also, when the JIT crashed, the problematic method was recompiled with tracing on for diagnostic purposes. However, it did not crash during recompilation. We are aware of some issues where tracing can impact the reproducability of bugs like this. Also observed some strange differences in inlining when the crash occurs.

Maybe you could try the following JVM options and hopefully reproduce the issue with tracing.

'-Xjit:{*BubblingConfigurationResolver.resolve*}(traceInlining,traceGlobalVP,log=tracelog.txt)'

@c-koell
Copy link
Author

c-koell commented Mar 7, 2022

Unfortunately at the moment i see no more crash while opening my eclipse workspace .... hmm i don't know what i have changed ...

@c-koell
Copy link
Author

c-koell commented Mar 16, 2022

I had today another crash. Unfortionally without trace enabled but maybe the trace helps you.

I have attached the new trace (crash-16.03.zip) under this fileshare url. Please use "jwgngGsgNs" as password.

@c-koell
Copy link
Author

c-koell commented Mar 17, 2022

Sorry the above link has expired. New new link is https://tbox.tirol.gv.at/index.php/s/C9LoR6S3ntxQSja with "JKoRmPZQ3t" as password

@c-koell
Copy link
Author

c-koell commented Mar 17, 2022

Now i have a crash with trace enabled. See the File crash_with_trace_17.03.zip in the described file share link above.

@BradleyWood
Copy link
Member

I will take a look

@c-koell
Copy link
Author

c-koell commented Mar 22, 2022

@BradleyWood any news here ? It's really annoying when eclipse crashes really often :-(

@BradleyWood
Copy link
Member

You should be able to prevent the crash with these options:

-Xjit:exclude={*BubblingConfigurationResolver*}

The trace logs are suspiciously large, I will need time to consult with colleagues. eclipse/omr#6356 should also fix the issue, but there is concern that it will hide a deeper issue.

@pshipton
Copy link
Member

I'm tentatively putting this into the 0.33 milestone plan.

@keithc-ca keithc-ca changed the title Eclipse 20201-12 crashes very often after switching from jdk 11 to jdk 17 Eclipse 2021-12 crashes very often after switching from jdk 11 to jdk 17 Apr 26, 2022
@keithc-ca
Copy link
Contributor

In the javacore file, these seem to contradict each other:

2CIUSERARG               -Djava.home=C:\Program Files\openjdk-17
2CIENVVAR      Java_Home=C:\Program Files\openjdk-11

Also, Path includes C:\Program Files\openjdk-11\bin which seems inappropriate.

@JamesKingdon
Copy link
Contributor

JamesKingdon commented May 19, 2022

I'm looking at a Java8 crash with a null 'this' passed to intersect() that looks like it came from the return value of a prior call to applyGlobalConstraints. I don't know if I can track back to the constraint that was passed to applyGlobalConstraints to see if it was also null, but I'll give it a go. (method was being compiled at very-hot, having previously succeeded at cold, warm and hot)

Crash stack in my case is very similar, but not quite identical:

#12 <signal handler called>
#13 0x00007fd1d86899b1 in TR::VPConstraint::intersect(TR::VPConstraint*, OMR::ValuePropagation*) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#14 0x00007fd1d8590f5e in OMR::ValuePropagation::addGlobalConstraint(TR::Node*, int, TR::VPConstraint*, int) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#15 0x00007fd1d8666fb3 in OMR::ValuePropagation::getConstraint(TR::Node*, bool&, TR::Node*) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#16 0x00007fd1d869291b in canFoldNonOverriddenGuard(OMR::ValuePropagation*, TR::Node*, TR::Node*) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#17 0x00007fd1d86ae9e7 in constrainIfcmpeqne(OMR::ValuePropagation*, TR::Node*, bool) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#18 0x00007fd1d866717d in OMR::ValuePropagation::launchNode(TR::Node*, TR::Node*, int) ()
   from ./opt/was85/java/jre/lib/amd64/compressedrefs/libj9jit29.so
#19 0x00007fd1d8667511 in OMR::ValuePropagation::processTrees(TR::TreeTop*, TR::TreeTop*) ()

@JamesKingdon
Copy link
Contributor

I located the constraint instance passed as a parameter to applyGlobalConstraints and it appears to be a VPNullObject, which matches up with Brad's comments in #14489 (comment)

@vij-singh
Copy link

@BradleyWood Any new news on this one?

@BradleyWood
Copy link
Member

@BradleyWood Any new news on this one?

This one has been very difficult to root-out by looking at the trace logs, and I can't reproduce the issue. We have enlisted Vijay's help on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit segfault Issues that describe segfaults / JVM crashes userRaised
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants