PING: RFR: JDK-8151815: Could not parse core image with JSnap.

Yasumasa Suenaga yasuenag at gmail.com
Wed Apr 6 03:42:40 UTC 2016


Hi Dmitry,

Thanks for your comment.

I uploaded a new webrev. Could you review again?
   http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.01/

On 2016/04/06 0:31, Dmitry Samersoff wrote:
> Yasumasa,
>
> 1. It's better to change JSnap code to produce meaningful error message
> instead of NPE.

I added null check and set message to PerfMemory.java .


> 2. We should check that no other consumer of perf counters rely on the
> fact it's NULL after call to destroy(). I'm not sure that this part of
> the fix is not dangerous.

I added new flag (_destroyed) in PerfMemory class.
This flag set true at PerfMemory::destroy().

_start, _end, and more field which I removed from destroy() are private member of
PerfMemory. I implemented that the getter functions of them check _destroyed flag,
and returns same value before this change.

So I think this change does not affect other place.


Thanks,

Yasumasa


> -Dmitry
>
> On 2016-03-29 15:02, Yasumasa Suenaga wrote:
>> PING: Could you review it?
>>
>>
>> Yasumasa
>>
>>
>> On 2016/03/22 21:24, Yasumasa Suenaga wrote:
>>> PING: Could you review it?
>>>
>>> Yasumasa
>>>
>>> 2016/03/14 23:39 "Yasumasa Suenaga" <yasuenag at gmail.com
>>> <mailto:yasuenag at gmail.com>>:
>>>
>>>      Hi all,
>>>
>>>      When I use `jhsdb jsnap` to get PerfCounter from core images, I
>>> encountered NPE:
>>>      -------------
>>>      Exception in thread "main" java.lang.NullPointerException
>>>               at sun.jvm.hotspot.tools.JSnap.run(JSnap.java:45)
>>>               at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
>>>               at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
>>>               at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
>>>               at sun.jvm.hotspot.tools.JSnap.main(JSnap.java:67)
>>>               at sun.jvm.hotspot.SALauncher.runJSNAP(SALauncher.java:352)
>>>               at sun.jvm.hotspot.SALauncher.main(SALauncher.java:404)
>>>      -------------
>>>
>>>      PerfMemory::destroy() clears all members which are used in JSnap.
>>>      Thus NPE is occurred.
>>>
>>>      I uploaded webrev for this issue.
>>>      Could you review it?
>>>
>>>      http://cr.openjdk.java.net/~ysuenaga/JDK-8151815/webrev.00/
>>>
>>>      I cannot access JPRT.
>>>      So I need a Sponsor.
>>>
>>>
>>>      Thanks,
>>>
>>>      Yasumasa
>>>
>
>


More information about the serviceability-dev mailing list