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@9-ea/ObjectReader.java:217)

        at
sun.jvm.hotspot.utilities.ObjectReader.readInstance(jdk.hotspot.agent@9-ea/ObjectReader.java:247)

        at
sun.jvm.hotspot.utilities.ObjectReader.readObject(jdk.hotspot.agent@9-ea/ObjectReader.java:105)

        at
sun.jvm.hotspot.runtime.VM$2.doOop(jdk.hotspot.agent@9-ea/VM.java:940)
        at
sun.jvm.hotspot.oops.InstanceKlass.visitField(jdk.hotspot.agent@9-ea/InstanceKlass.java:872)

        at
sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFieldsInternal(jdk.hotspot.agent@9-ea/InstanceKlass.java:572)

        at
sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFields(jdk.hotspot.agent@9-ea/InstanceKlass.java:560)

        at
sun.jvm.hotspot.runtime.VM.readSystemProperties(jdk.hotspot.agent@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/

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


Reply via email to