RFR: JDK-8163272: jhsdb jinfo cannot show system properties
Dmitry Samersoff
dmitry.samersoff at oracle.com
Mon Aug 8 11:05:21 UTC 2016
Yasumasa,
The fix looks good for me. I'll sponsor the push.
-Dmitry
On 2016-08-08 05:05, Yasumasa Suenaga wrote:
> Thanks David!
>
> I'm waiting a second reviewer and a sponsor.
>
> Yasumasa
>
>
> 2016/08/08 10:00 "David Holmes" <david.holmes at oracle.com
> <mailto: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>
> <mailto: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.hotspot.agent at 9-ea/ObjectReader.java:217)
>
> at
>
> sun.jvm.hotspot.utilities.ObjectReader.readInstance(jdk.hotspot.agent at 9-ea/ObjectReader.java:247)
>
> at
>
> sun.jvm.hotspot.utilities.ObjectReader.readObject(jdk.hotspot.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.iterateStaticFieldsInternal(jdk.hotspot.agent at 9-ea/InstanceKlass.java:572)
>
> at
>
> sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFields(jdk.hotspot.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/>
>
> <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
>
>
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
More information about the serviceability-dev
mailing list