RFR: JDK-8163580: Cannot get Monitor Cache Dump in HSDB

David Holmes david.holmes at oracle.com
Thu Aug 11 00:59:21 UTC 2016


Hi Yasumasa,

On 10/08/2016 10:18 PM, Yasumasa Suenaga wrote:
> Hi all,
>
> When I chose "Monitor Cache Dump" menu in HSDB, I saw an Exception as
> below:
> ------------
> Exception in thread "AWT-EventQueue-0"
> java.lang.ExceptionInInitializerError
>     at
> sun.jvm.hotspot.ui.MonitorCacheDumpPanel.dumpOn(jdk.hotspot.agent at 9-internal/MonitorCacheDumpPanel.java:92)
>
>     at
> sun.jvm.hotspot.ui.MonitorCacheDumpPanel.<init>(jdk.hotspot.agent at 9-internal/MonitorCacheDumpPanel.java:59)
>
>     at
> sun.jvm.hotspot.HSDB.showMonitorCacheDumpPanel(jdk.hotspot.agent at 9-internal/HSDB.java:1534)
>
>                 :
> Caused by: java.lang.ArithmeticException: / by zero
>     at
> sun.jvm.hotspot.runtime.ObjectSynchronizer.initialize(jdk.hotspot.agent at 9-internal/ObjectSynchronizer.java:55)
>
>                 :
> ------------
>
> ObjectSynchronizer finds DEFAULT_CACHE_LINE_SIZE value from VMStructs,
> however, it is not contained.
>
> This value is added by JDK-8049737. DEFAULT_CACHE_LINE_SIZE is macro.
> When we set macro value to VMStructs, we have to use
> declare_preprocessor_constant macro. However this change uses
> declare_constant macro. It is the cause of this exception.
>
> I uploaded a webrev for this issue.
> Could you review it?
>
>   http://cr.openjdk.java.net/~ysuenaga/JDK-8163580/webrev.00/
>
> I'm jdk 9 committer, but I cannot access JPRT.
> So I need a sponsor.

I agree with your analysis and fix. I will sponsor this under the  
'trivial change' rules.

Thanks,
David


>
> Thanks,
>
> Yasumasa
>


More information about the serviceability-dev mailing list