JDK-6928562 : Assert(_no_handle_mark_nesting==0,"allocating handle inside NoHandleMark"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs16
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-02-22
  • Updated: 2011-04-23
  • Resolved: 2011-04-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Related Reports
Relates :  
Description
Running multi-day testing to look for bad data in internal metadata, with
the flags:

-XX:+UnlockDiagnosticVMOptions -XX:+FullGCALot -XX:+GCALotAtAllSafepoints -XX:+VerifyBeforeGC -XX:+VerifyAfterGC -XX:+VerifyOops -client

I ran into the assertion
Assert(_no_handle_mark_nesting==0,"allocating handle inside NoHandleMark"

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/68c5a4e8881d
30-12-2010

SUGGESTED FIX src/share/vm/compiler/abstractCompiler.cpp Wed Dec 29 20:22:54 2010 -0800 @@ -33,6 +33,7 @@ void AbstractCompiler::initialize_runtim bool do_initialization = false; { ThreadInVMfromNative tv(thread); + ResetNoHandleMark rnhm; MutexLocker only_one(CompileThread_lock, thread); if ( *state == uninitialized) { do_initialization = true; @@ -53,6 +54,7 @@ void AbstractCompiler::initialize_runtim // To in_vm so we can use the lock ThreadInVMfromNative tv(thread); + ResetNoHandleMark rnhm; MutexLocker only_one(CompileThread_lock, thread); assert(*state == initializing, "wrong state"); *state = initialized;
30-12-2010

EVALUATION Before going into VM we should reset NoHandleMark as we do in CI.
30-12-2010