Thank you very much, Yasumasa, for pointing this out. You are right -- this would fail in the Linux systems if systemd-coredump is enabled.

I plan to file an enhancement request to address this issue (wrt systemd-coredump) separately since this would apply to other coredump generating test cases also like:
test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java.

From what i can gather, i think we might be able to at least partially address this by using

coredumptl -o <desired_core_path> dump <pid of the crashed process>

in the test cases, provided the kernel.core_pattern variable is not set to "|/bin/false".

Let me know if you are not OK with this.

Thank you,
Jini.



On 4/14/2018 7:39 PM, Yasumasa Suenaga wrote:
Hi Jini,

ClhsdbCDSCore.java:
   Can this test work on modern Linux?
  AFAIK modern Linux contains systemd-coredump to gather core images. So I concern ClhsdbCDSCore.java fails in the future.


Thanks,

Yasumasa


On 2018/04/12 13:21, Jini George wrote:
Ping: Gentle reminder !

Thanks,
Jini.

On 4/6/2018 9:51 PM, Jini George wrote:
Hello!

Requesting reviews for: https://bugs.openjdk.java.net/browse/JDK-8174994
Webrev: http://cr.openjdk.java.net/~jgeorge/8174994/webrev.00/

While trying to identify the type given an address, a WrongTypeException
was getting thrown with various clhsdb commands (like printmdo, jstack,
etc). This was since SA tries to map an address to a hotspot C++ type by
comparing the vtable address to the vtable address values of known
types. With CDS, since the vtables are copied over for the Metadata
classes, the vtable addresses themselves don't match (though, of course,
the contents will), and SA errors out.

The fix has been implemented by making changes to read in the md region
(consisting of the c++ vtables) of the CDS archive in SA, and mapping
the vtable addresses to the corresponding metadata type (ConstantPool,
InstanceKlass, InstanceClassLoaderKlass, InstanceMirrorKlass,
InstanceRefKlass, Method, ObjArrayKlass, TypeArrayKlass).

For corefiles, an additional modification has been done to have the
replicated FileMapHeader structure (from
src/hotspot/share/memory/filemap.hpp, which is replicated in SA in
ps_core.c), to be in sync with the corresponding definition in
src/hotspot/share/memory/filemap.hpp.

Test cases to test both live and corefile debugging are being added with
this. These and other SA tests pass on Mach5.

Thanks,
Jini.

Reply via email to