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

Yasumasa Suenaga yasuenag at gmail.com
Wed Aug 10 12:18:50 UTC 2016


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.


Thanks,

Yasumasa



More information about the serviceability-dev mailing list