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.29k stars 722 forks source link

OpenJ9 frequently freezes #20506

Open kqkdChen opened 3 weeks ago

kqkdChen commented 3 weeks ago

Java -version output

openjdk 11.0.24 2024-07-16 IBM Semeru Runtime Open Edition 11.0.24.0 (build 11.0.24+8) Eclipse OpenJ9 VM 11.0.24.0 (build openj9-0.46.0, JRE 11 Linux amd64-64-Bit Compressed References 20240802_1158 (JIT enabled, AOT enabled) OpenJ9 - 1a6f6128aa OMR - 840a9adba JCL - https://github.com/ibmruntimes/openj9-openjdk-jdk11/commit/30b62e68b859d4a716ae799da0711722efed53de based on jdk-11.0.24+8)

Summary of problem

The SpringBoot program frequently freezes, even the 404 interface with no logic will freeze for up to 6 seconds, and there are a large number of javacore.txt files inside the container. The strange thing is that when I changed to Microsoft's JDK image, the lagging problem disappeared. Could you please help me look at the javacore file to determine where the problem lies? I found a different point is 2SCLTEXTDAU Class debug area % used = 99%

Diagnostic files

javacore.20241031.084313.1.0048.txt

OutOfMemoryError: Java Heap Space

For a repeatable OutOfMemory condition showing Java heap space, enable verbose GC collection and provide the log. --verbose:gc writes the logging to stderr

github-actions[bot] commented 3 weeks ago

Issue Number: 20506 Status: Open Recommended Components: comp:vm, comp:gc, comp:jclextensions Recommended Assignees: keithc-ca, pshipton, chengjin01

kqkdChen commented 3 weeks ago

@keithc-ca @pshipton @ChengJin01

I have tried both ibm-semeru-runtimes and adoptopenjdk/openjdk11-openj9 related jdk11 images, and the same lag problem exists. However, there is a strange phenomenon that the customer site does not freeze at the beginning, but starts to freeze after a certain patch is installed, and the program continues to print out diagnostic information. There are dozens of environments deployed in openj9 (including our own environments). Only this environment has the problem of lag. The key is that the lag problem disappears after switching to Microsoft's jdk, so I wonder if it is because of the presence at the customer site. Some kind of detection and sniffing tool triggered the self-diagnosis of openj9 and caused the lag?

container (37)(1).log

pshipton commented 3 weeks ago

As I mentioned, we need more than one javacore file to look for differences, we can't tell much from a single file.