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