RR(S) 8049684: pstack crashes on java core dump
Kevin Walls
kevin.walls at oracle.com
Fri Jul 18 12:02:10 UTC 2014
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
More information about the serviceability-dev
mailing list