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.hol...@oracle.com
<mailto:david.hol...@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@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/
        <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