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.28k stars 721 forks source link

System core file from openJ9 should not be loaded to IBM Java 8 jdmpview: #16131

Open manqingl opened 2 years ago

manqingl commented 2 years ago

Details here:

/team/service/pmrs/jdmpviewIssue $ /team/service/pmrs/sdks/x86_linux/jvmxa6480sr6fp15-20200724_01/bin/jdmpview -core test.dmp DTFJView version 4.29.5, using DTFJ version 1.12.29003 Loading image from DTFJ...

For a list of commands, type "help"; for how to use "help", type "help help" Available contexts (* = currently selected context) :

Source : file:///team/service/pmrs/jdmpviewIssue/test.dmp 0 : ASID: 0x1 : No JRE : No JRE 1 : ASID: 0x4 : No JRE : No JRE 2 : ASID: 0x7 : No JRE : No JRE *3 : ASID: 0x54 EDB: 0x50001055e8 : JRE 11 z/OS s390x-64 (build 11.0.16+8) 4 : ASID: 0xffff : No JRE : No JRE 5 : ASID: 0x40404040 : No JRE : No JRE

manqingl commented 2 years ago

@pshipton @keithc-ca : FYI

pshipton commented 2 years ago

I thought newer versions of jdmpview just give a warning but still allow the core to be loaded. Guessing the jdmpview 20200724_01 is too old to print the warning.

manqingl commented 2 years ago

@pshipton The most recent IBM Java 8 has the same problem.

/team/service/pmrs/jdmpviewIssue $ ./pxa6480sr7fp16-20220830_01-sdk/sdk/bin/jdmpview -core test.dmp DTFJView version 4.29.5, using DTFJ version 1.12.29003 Loading image from DTFJ...

For a list of commands, type "help"; for how to use "help", type "help help" Available contexts (* = currently selected context) :

Source : file:///team/service/pmrs/jdmpviewIssue/test.dmp 0 : ASID: 0x1 : No JRE : No JRE 1 : ASID: 0x4 : No JRE : No JRE 2 : ASID: 0x7 : No JRE : No JRE *3 : ASID: 0x54 EDB: 0x50001055e8 : JRE 11 z/OS s390x-64 (build 11.0.16+8) 4 : ASID: 0xffff : No JRE : No JRE 5 : ASID: 0x40404040 : No JRE : No JRE

keithc-ca commented 2 years ago

The version of jdmpview (from 20200724) predates the check for "possibly incompatible" VMs.

You should not expect tools from Java 8 to properly handle dumps from newer versions (the other way around should be fine - tools from Java 11 should be able to handle dumps from Java 8). What does the latest jdmpview from Java 11 (or newer) have to say about this?

manqingl commented 2 years ago

@keithc-ca @pshipton : The agreement is to raise a warning message from IBM JDK Jdmpview.

C:\pmrs\921.win.j17\t2>C:\sdks\jvmwa6480sr7fp5-20220208_01\bin\jdmpview.exe -core core.20220924.171011.748.0001.dmp DTFJView version 4.29.5, using DTFJ version 1.12.29003 Loading image from DTFJ...

Warning: dump file was produced by a different, possibly incompatible, VM. core file: Eclipse OpenJ9 VM this VM: IBM J9 VM

For a list of commands, type "help"; for how to use "help", type "help help" Available contexts (* = currently selected context) :

Source : file:///C:/pmrs/921.win.j17/t2/core.20220924.171011.748.0001.dmp *0 : PID: 748 : JRE 17 Windows Server 2022 amd64-64 (build 17.0.2+8)

manqingl commented 2 years ago

@keithc-ca @pshipton I believe the problem is in the system core file (not the jdmpview tool). The system core file from z/OS has a system property set wrong.

keithc-ca commented 2 years ago

Yes, we agree that the expectation is that a warning will be issued when incompatible tools/dumps are mixed. That doesn't mean that Java 8 tools should be expected to properly deal with dumps from newer versions.