Issues with MAT reading AdoptJDK openj9 core.dmp files [message #1843278] |
Thu, 22 July 2021 09:12  |
Eclipse User |
|
|
|
Good morning,
I'm testing capturing various dump files in AdoptJDK openj9. I found a peculiar issue and no answers online.
Basically, generate a SYSTDUMP or core.dmp file via jcmd or Xdump. The JVM's running AdoptJDK openj9 11.0.10.9 flavors. I'm currently running Eclipse MAT versions 1.11 or 1.12 with the latest IBM DTFJ plugin.
Next, open the core.dmp file using MAT 1.11 or 1.12 and during index creation MAT generates a .threads file. The .threads file's missing thread stack traces and locals, Note, an openj9 javacore file created at the same time shows both Java and Native callstacks. I've attached a thread's stack found in a javacore file plus the .threads file. The current Java version's Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.24.0, JRE 11 Windows 10 amd64-64-Bit Compressed References 20210120_899 (JIT enabled, AOT enabled).
I've reviewed core.dmp's running a Java class to simple deadlocks or core.dmp files created from a running Tomee instance. Also, tested the simple deadlock's class on AdoptJDK Hotspot version and MAT successfully shows thread stack traces. The AdoptJDK Hotspot generated .threads file contains both stack traces and locals addresses.
The attached zip file contains:
• A MAT created .threads file
• Openj9 javacore thread stack trace example
• A MAT Partial Threads Tab.jpg showing a few threads and no greater than (>) symbol to expand the threads
• A Eclipse MAT installed plugin versions.jpg showing installed MAT 1.12 plugin versions
The issue, how do you analyze an AdoptJDK openj9 core.dmp file's to find the Thread retaining excessive heap memory without looking at the stack trace and locals in MAT? The referenced objects help identify problematic code. Also, the data's necessary because no javacore files exist.
Any suggestions? Questions, please let me know.
Thanks,
Rich
|
|
|
|
|
|
Re: Issues with MAT reading AdoptJDK openj9 core.dmp files [message #1843317 is a reply to message #1843286] |
Fri, 23 July 2021 08:53  |
Eclipse User |
|
|
|
Thanks, Andrew! I just read your note.
Yesterday, I used jdmpview>info thread * generating an output file. I can correlate data using in the javacore, info thread output and MAT's help reading the core.dmp file. Yes, imperfect , but at least we can begin to determine what the end users maybe running via the thread stack traces. Also, if a thread's retaining high heap values we can troubleshoot.
IMO, at least a good workaround
Thanks again!
|
|
|
Powered by
FUDForum. Page generated in 0.05685 seconds