(XS) RFR: 8146616: VM exit path throws fatal error: Thread holding lock at safepoint that vm can block on: BeforeExit_lock

David Holmes david.holmes at oracle.com
Wed Feb 3 02:13:13 UTC 2016


bug: https://bugs.openjdk.java.net/browse/JDK-8146616

webrev: http://cr.openjdk.java.net/~dholmes/8146616/webrev/

We encountered a bug with the Solaris Studio 12u4 compiler that causes a 
destructor not to be called when leaving a block, and so leaves a system 
monitor locked. A workaround is to introduce an explicit local scope:

@@ -421,7 +421,10 @@
        assert(_before_exit_status == BEFORE_EXIT_DONE, "invalid state");
        return;
      case BEFORE_EXIT_DONE:
-      return;
+      // need block to avoid SS compiler bug
+      {
+        return;
+      }
      }

Thanks,
David


More information about the hotspot-runtime-dev mailing list