Shenandoah crash on Mac OS X

Vsevolod Tolstopyatov qwwdfsad at gmail.com
Wed Jun 20 12:43:44 UTC 2018


Hi, we have private OpenJDK build (based on
https://github.com/JetBrains/jdk8u) with merged Shenandoah into it.
On recent clang (9.4.1) on Mac OS X  undefined behaviour in perfData.hpp
(no-delete-non-virtual-dtor) causes a crash on JVM exit.
The issue was found and fixed by my colleague Simon (
simon.ogorodnik at gmail.com).

---
 src/share/vm/runtime/perfData.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/share/vm/runtime/perfData.hpp
b/src/share/vm/runtime/perfData.hpp
index 9ba4e4b71..0ed4a3c68 100644
--- a/src/share/vm/runtime/perfData.hpp
+++ b/src/share/vm/runtime/perfData.hpp
@@ -288,7 +288,7 @@ class PerfData : public CHeapObj<mtInternal> {
     void *_valuep;

     PerfData(CounterNS ns, const char* name, Units u, Variability v);
-    ~PerfData();
+    virtual ~PerfData();

     // create the entry for the PerfData item in the PerfData memory
region.
     // this region is maintained separately from the PerfData objects to
-- 


Crash dump:
https://gist.github.com/qwwdfsad/24f925070d875a34a878838aeb793f60

--
Best regards,
Tolstopyatov Vsevolod


More information about the shenandoah-dev mailing list