RR(S) 8049684: pstack crashes on java core dump

Kevin Walls kevin.walls at oracle.com
Mon Jul 21 10:01:49 UTC 2014


Thanks Serguei, and thanks Sundar,

--
Kevin


On 18/07/14 23:22, serguei.spitsyn at oracle.com wrote:
> Hi Kevin,
>
> It looks good.
> Thank you fixing it!
>
> Thanks,
> Serguei
>
> On 7/18/14 5:02 AM, Kevin Walls wrote:
>> 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