RFR: JDK-8163272: jhsdb jinfo cannot show system properties

Yasumasa Suenaga yasuenag at gmail.com
Mon Aug 8 02:05:22 UTC 2016


Thanks David!

I'm waiting a second reviewer and a sponsor.

Yasumasa

2016/08/08 10:00 "David Holmes" <david.holmes at oracle.com>:

> On 8/08/2016 10:26 AM, Yasumasa Suenaga wrote:
>
>> Hi David,
>>
>> To get properties from memory, SA have to know memory layout.
>> SA is used for attaching to live process/core image. So we cannot
>> execute Java API.
>>
>
> I see - so we have to read memory element by memory element.
>
> Okay - code seems okay.
>
> Thanks,
> David
>
> Thanks,
>>
>> Yasumasa
>>
>>
>> 2016/08/08 8:52 "David Holmes" <david.holmes at oracle.com
>> <mailto:david.holmes at oracle.com>>:
>>
>>     Hi Yasumasa,
>>
>>     On 5/08/2016 9:59 PM, Yasumasa Suenaga wrote:
>>
>>         Hi all,
>>
>>         I tried to get system properties via "jhsdb jinfo".
>>         However, it did not work as below:
>>
>>         ----------------
>>         $ /usr/local/jdk-9/bin/jhsdb jinfo --pid 1002
>>         Attaching to process ID 1002, please wait...
>>         Debugger attached successfully.
>>         Server compiler detected.
>>         JVM version is 9-ea+129
>>         Java System Properties:
>>
>>         java.lang.NullPointerException
>>                 at
>>         sun.jvm.hotspot.utilities.ObjectReader.getHashtable(jdk.hots
>> pot.agent at 9-ea/ObjectReader.java:217)
>>
>>                 at
>>         sun.jvm.hotspot.utilities.ObjectReader.readInstance(jdk.hots
>> pot.agent at 9-ea/ObjectReader.java:247)
>>
>>                 at
>>         sun.jvm.hotspot.utilities.ObjectReader.readObject(jdk.hotspo
>> t.agent at 9-ea/ObjectReader.java:105)
>>
>>                 at
>>         sun.jvm.hotspot.runtime.VM$2.doOop(jdk.hotspot.agent at 9-ea/VM
>> .java:940)
>>                 at
>>         sun.jvm.hotspot.oops.InstanceKlass.visitField(jdk.hotspot.
>> agent at 9-ea/InstanceKlass.java:872)
>>
>>                 at
>>         sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFieldsIntern
>> al(jdk.hotspot.agent at 9-ea/InstanceKlass.java:572)
>>
>>                 at
>>         sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFields(jdk.h
>> otspot.agent at 9-ea/InstanceKlass.java:560)
>>
>>                 at
>>         sun.jvm.hotspot.runtime.VM.readSystemProperties(jdk.hotspot.
>> agent at 9-ea/VM.java:935)
>>
>>                        :
>>         System Properties info not available!
>>         ----------------
>>         * If you want to see all stack, please see JBS.
>>
>>
>>         I think this is caused by JDK-8029891.
>>         JDK-8029891 changes that j.u.Properties stores properties to
>>         j.u.c.ConcurrentHashMap.
>>         ObjectReader should be adapted to this change.
>>
>>         I uploaded webrev. Could you review it?
>>
>>           http://cr.openjdk.java.net/~ysuenaga/JDK-8163272/webrev.00/
>>         <http://cr.openjdk.java.net/~ysuenaga/JDK-8163272/webrev.00/>
>>
>>
>>     I'm not very familiar with how SA operates here so this could be a
>>     stupid question, but why do we need to know exactly how Properties
>>     are implemented instead of just using the public API to access them
>>     and read/write them ??
>>
>>     Thanks,
>>     David
>>
>>         I'm jdk 9 commiter, but I cannot access JPRT.
>>         So I need a sponsor.
>>
>>
>>         Thanks,
>>
>>         Yasumasa
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20160808/97f0b22a/attachment.html>


More information about the serviceability-dev mailing list