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