United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6928562 Assert(_no_handle_mark_nesting==0,"allocating handle inside NoHandleMark"
JDK-6928562 : Assert(_no_handle_mark_nesting==0,"allocating handle inside NoHandleMark"

Details
Type:
Bug
Submit Date:
2010-02-22
Status:
Closed
Updated Date:
2011-04-23
Project Name:
JDK
Resolved Date:
2011-04-23
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs16
Fixed Versions:
hs20 (b06)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

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

Before going into VM we should reset NoHandleMark as we do in CI.
                                     
2010-12-30
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;
                                     
2010-12-30
EVALUATION

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



Hardware and Software, Engineered to Work Together