Hi,

May I get a review of this little change:

pstack can crash on a Java core, where the core is transported from one machine to another, and they have different JDKs but in the same directory location. So pstack does find libjvm etc, and does find libjvm_db.so (but clearly symbols are not going to be good). libjvm_db.c's parse_vmstructs fails early, after the call to libproc's ps_pglobal_lookup(), which is before it has cleared its VMStructEntry, which it will then test for non-null pointers in a few fields, and free them (bad).

Seen on Solaris, though the same problem is in the bsd code.

bug
https://bugs.openjdk.java.net/browse/JDK-8049684

webrev
http://cr.openjdk.java.net/~kevinw/8049684/webrev.01/

I can reproduce this with a script, but it is time-consuming to copy/unpack different JDKs in place, generate a core, replace the JDK, run pstack. Does not seem appropriate to add as a regression test given the simple change.

Thanks
Kevin

Reply via email to