United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-4777869 : JVMPI_EVENT_COMPILED_METHOD_LOAD: "must release all locks when leaving VM" asser

Details
Type:
Bug
Submit Date:
2002-11-13
Status:
Resolved
Updated Date:
2003-07-18
Project Name:
JDK
Resolved Date:
2003-06-05
Component:
vm-legacy
OS:
solaris_7,generic
Sub-Component:
jvmpi
CPU:
sparc,generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
1.4.0,1.4.1,1.4.2,5.0
Fixed Versions:
1.4.2_02 (02)

Related Reports
Backport:
Duplicate:
Relates:

Sub Tasks

Description

Name: abR10010			Date: 11/12/2002


The JVMPI_EVENT_COMPILED_METHOD_LOAD event causes assertion failure with 
jdk1.4.2-b06 in debug mode:

#
# HotSpot Virtual Machine Error, assertion failure
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2-beta-b06-debug mixed mode)
#
# assert(!thread->owns_locks(), "must release all locks when leaving VM")
#
# Error ID: /export1/jdk/jdk1.4.2/hotspot/src/share/vm/runtime/interfaceSupport.hpp, 185 [ Patched ]
#
# Problematic Thread: prio=5 tid=0x000ef440 nid=0x9 runnable 
#

This failure happens on all platforms for the Client/Server VM 
in mixed/compiled mode.

To reproduce the bug run:

doit.sh $JAVA_HOME [-g] [-options]

in /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/<this bug number>

where:
    JAVA_HOME  should point testable JDK
    -g         run with Java debug binaries
    -options   Java options (-Xcomp, for example)
    
The doit.sh script runs the TestAB100 test which simply checks if the 
JVMPI_EVENT_COMPILED_METHOD_LOAD event is sent and caught by the profiler
agent.


See logs:

% sh doit.sh .../jdk1.4.2-b06/solaris-sparc -g
 
cc -G -KPIC -I.../jdk1.4.2-b06/solaris-sparc/include -I.../jdk1.4.2-b06/solaris-sparc/include/solaris -o 
sparc/libTestAB100_g.so TestAB100.c
 
.../jdk1.4.2-b06/solaris-sparc/bin/javac TestAB100.java
 
.../jdk1.4.2-b06/solaris-sparc/bin/java_g -version
java version "1.4.2-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b06)
Java HotSpot(TM) Client VM (build 1.4.2-beta-b06-debug, mixed mode)
 
.../jdk1.4.2-b06/solaris-sparc/bin/java_g -XrunTestAB100 TestAB100
==> TestAB100 LOG:

#
# HotSpot Virtual Machine Error, assertion failure
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2-beta-b06-debug mixed mode)
#
# assert(!thread->owns_locks(), "must release all locks when leaving VM")
#
# Error ID: /export1/jdk/jdk1.4.2/hotspot/src/share/vm/runtime/interfaceSupport.hpp, 185 [ Patched ]
#
# Problematic Thread: prio=5 tid=0x000ef440 nid=0x9 runnable 
#

Heap at VM Abort:
Heap
 def new generation   total 2112K, used 131K [0xf0c00000, 0xf0e20000, 0xf1310000)
  eden space 2048K,   6% used [0xf0c00000, 0xf0c20eb0, 0xf0e00000)
  from space 64K,   0% used [0xf0e00000, 0xf0e00000, 0xf0e10000)
  to   space 64K,   0% used [0xf0e10000, 0xf0e10000, 0xf0e20000)
 tenured generation   total 1408K, used 0K [0xf1310000, 0xf1470000, 0xf4c00000)
   the space 1408K,   0% used [0xf1310000, 0xf1310000, 0xf1310200, 0xf1470000)
 compacting perm gen  total 4096K, used 921K [0xf4c00000, 0xf5000000, 0xf8c00000)
   the space 4096K,  22% used [0xf4c00000, 0xf4ce67d8, 0xf4ce6800, 0xf5000000)
Dumping core....
Abort
Exit Code: 134


History:

For the Merlin, jdk1.4.0-b74 the TestAB100 fails according to the #4474145 bugreport:

% sh doit.sh .../jdk1.4.0-b74/solsparc -g
 
cc -G -KPIC -I.../jdk1.4.0-b74/solsparc/include -I.../jdk1.4.0-b74/solsparc/include/solaris -o 
sparc/libTestAB100_g.so TestAB100.c
 
.../jdk1.4.0-b74/solsparc/bin/javac TestAB100.java
 
.../jdk1.4.0-b74/solsparc/bin/java_g -version
java version "1.4.0-beta_refresh"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b74)
Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b74-debug, mixed mode)
 
.../jdk1.4.0-b74/solsparc/bin/java_g -XrunTestAB100 TestAB100 
==> TestAB100 LOG:

##> TestAB100: FAILURE: JVMPI_EVENT_COMPILED_METHOD_LOAD event is not caught!

==> TestAB100 FAILED
Exit Code: 97


Since jdk1.4.0-b75 and till jdk1.4.0-b87 (including) the TestAB100 passes
(#4474145 was fixed):

% sh doit.sh .../jdk1.4.0-b87/solsparc -g
 
cc -G -KPIC -I.../jdk1.4.0-b87/solsparc/include -I.../jdk1.4.0-b87/solsparc/include/solaris -o 
sparc/libTestAB100_g.so TestAB100.c
 
.../jdk1.4.0-b87/solsparc/bin/javac TestAB100.java
 
.../jdk1.4.0-b87/solsparc/bin/java_g -version
java version "1.4.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b87)
Java HotSpot(TM) Client VM (build 1.4.0-rc-b87-debug, mixed mode)
 
.../jdk1.4.0-b87/solsparc/bin/java_g -XrunTestAB100 TestAB100 
==> TestAB100 LOG:

--> TestAB100: OK: JVMPI_EVENT_COMPILED_METHOD_LOAD event is caught!

==> TestAB100 PASSED
Exit Code: 95


But since jdk1.4.0-b88 and till now assertion failure happens:

% sh doit.sh .../jdk1.4.0-b88/solsparc -g
... 
.../jdk1.4.0-b88/solsparc/bin/java_g -XrunTestAB100 TestAB100 
==> TestAB100 LOG:

#
# HotSpot Virtual Machine Error, assertion failure
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-rc-b88-debug mixed mode)
#
# assert(!thread->owns_locks(), "must release all locks when leaving VM")
#
# Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/runtime/interfaceSupport.hpp, 168 [ Patched 
]
#
# Problematic Thread: prio=5 tid=0xd6428 nid=0xa runnable 
#
Dumping core....
Abort
Exit Code: 134


Please note, that with usual java (not java_g) the TestAB100 passes since
jdk1.4.0-b75 and till now.
======================================================================

Name: abR10010			Date: 11/26/2002


This bug affects the new
nsk/regression/b4474145
test which has been added into testbase_nsk.v142r18.

###@###.### 2002-11-26


======================================================================

                                    

Comments
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_02
tiger

FIXED IN:
1.4.2_02
tiger

INTEGRATED IN:
1.4.2_02
tiger
tiger-b08

VERIFIED IN:
tiger


                                     
2004-06-14
PUBLIC COMMENTS

.
                                     
2004-06-10
EVALUATION

###@###.### 2003-04-17

For Compiler1, the CompilerThread is trying to post a COMPILED_METHOD_LOAD
event while holding the MethodCompileQueue_lock.

###@###.### 2003-04-18

Same situation for Compiler2.
                                     
2003-04-18



Hardware and Software, Engineered to Work Together