United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-4827458 : Intermittent assertion failure running appserver 7 with mantis-beta on solsparc

Details
Type:
Bug
Submit Date:
2003-03-05
Status:
Closed
Updated Date:
2004-04-30
Project Name:
JDK
Resolved Date:
2003-06-05
Component:
hotspot
OS:
solaris_9,generic
Sub-Component:
compiler
CPU:
sparc,generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
1.4.2,1.4.2_03
Fixed Versions:
1.4.2_05 (05)

Related Reports
Backport:
Relates:

Sub Tasks

Description
Noticed this crash few instances, but is not reproducible.

Here are the  flags used:
-server
-XX:CompileThreshold=100
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled

Java  -version
java version "1.4.2-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b17)
Java HotSpot(TM) Server VM (build 20030228200906.jmasa.baseline-fastdebug-debug, mixed mode)

How to Reproduce: (Thanks to coleen for providing this scenario)
cd /net/jano.sfbay/export/disk20/GammaBase/Bugs/4827458
ksh doit.ksh
Log
-----------------------------------
[04/Mar/2003:00:26:50] FINE ( 7886): jvm option: -Djava.class.path=/opt/SUNWappserver7/lib/appserv-rt.jar:/export/AppServe
r7/UseJDK/lib/tools.jar:/opt/SUNWappserver7/lib/appserv-ext.jar:/opt/SUNWappserver7/lib/appserv-cmp.jar:/usr/share/lib/mai
l.jar:/opt/SUNWappserver7/lib/appserv-ideplugin.jar:/usr/share/lib/imq/imq.jar:/usr/share/lib/imq/jaxm-api.jar:/usr/share/
lib/imq/imqadmin.jar:/usr/share/lib/imq/imqutil.jar:/opt/SUNWappserver7/lib/appserv-admin.jar:/usr/share/lib/jaxrpc-impl.j
ar:/usr/share/lib/jaxrpc-api.jar:/usr/share/lib/jaxr-impl.jar:/usr/share/lib/jaxr-api.jar:/usr/share/lib/activation.jar:/u
sr/share/lib/saaj-api.jar:/usr/share/lib/saaj-impl.jar:/usr/share/lib/commons-logging.jar:/usr/share/lib/imq/fscontext.jar
:/usr/share/lib/imq/providerutil.jar:/opt/SUNWappserver7/lib/appserv-jstl.jar:/opt/SUNWappserver7/lib/classes12.zip:/opt/S
UNWappserver7/pointbase/client_tools/lib/pbclient42RE.jar:
[04/Mar/2003:00:26:50] WARNING ( 7886): CORE3283: stderr: VM option 'CompileThreshold=100'
[04/Mar/2003:00:26:50] WARNING ( 7886): CORE3283: stderr: VM option '+UseConcMarkSweepGC'
[04/Mar/2003:00:26:50] WARNING ( 7886): CORE3283: stderr: VM option '+CMSClassUnloadingEnabled'
[04/Mar/2003:00:26:50] WARNING ( 7886): CORE3283: stderr: VM option '+CMSPermGenSweepingEnabled'
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # To suppress the following error report, specify this argument
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # after -XX: or in .hotspotrc:  SuppressErrorAt=/parse1.cpp:876
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # HotSpot Virtual Machine Error, assertion failure
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # Please report this error at
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # http://java.sun.com/cgi-bin/bugreport.cgi
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # Java VM: Java HotSpot(TM) Server VM (20030228200906.jmasa.base
line-fastdebug-debug mixed mode)
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empt
y(), "return value must be well defined")
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # Error ID: /net/balvenie.sfbay/export/imgr_home/ws/200302282009
06.jmasa.baseline/src/share/vm/opto/parse1.cpp, 876 [ Patched ]
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: # Problematic Thread: prio=5 tid=0x003a6060 nid=0x22 runnable
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: #
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: Heap at VM Abort:
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr: Heap
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr:  par new generation   total 4032K, used 499K [0xef000000, 0xef40
0000, 0xef400000)
[04/Mar/2003:00:26:56] WARNING ( 7886): CORE3283: stderr:   eden space 3968K,  12% used [0xef000000, 0xef07cd88, 0xef3e000
0)
[04/Mar/2003:00:27:02] FINE ( 7885): CORE3061: signal_handler_thread: received signal 18
[04/Mar/2003:00:27:02] FINE ( 7885): CORE3049: Primordial process detected child 7886 died: status 134
[04/Mar/2003:00:27:02] FINE ( 7885): CORE3071: Child died before completing init
[04/Mar/2003:00:27:02] FINE ( 7885): CORE3062: Unlinking of /tmp/server1-4f378e6f/.cgistub_7886 returned -1
[04/Mar/2003:00:27:02] FINE ( 7885): CORE3135: Unlinking /tmp/server1-4f378e6f/iwsadmin.7885

-----------------------------------

                                    

Comments
SUGGESTED FIX

See the attached file, suggested-fix.sh.

It applies a patch which fixes a hole in the checking
for previously-unloaded classes, in ciEnv.cpp.

The problem appears to be that references to types via
field signatures do not check correctly for previously
unloaded classes (check_get_unloaded_klass), because
they probe the set of unloaded classes using the name
variant "Lclassname;" rather than the unadorned classname.

The other changes in the patch were useful for diagnosing
this bug.  The change in ciObjectFactory.cpp is an assertion
that checks for the supposedly-impossible case of a class
appearing loaded but then becoming unloaded.  The other
two changes cause the VM to hang on exit as long as both
of the following two conditions are true:
  ShowMessageBoxOnError is true (defaults to false)
  is_error_reported() is true (only true after assertion or fatal)

###@###.### 2003-05-05
                                     
2003-05-05
EVALUATION

###@###.### 2003-03-11

assertion failure:
# assert(_exits.control()->is_top() || !_gvn.type(ret_phi)->empty(), "return value must be well defined")
# 
# Error ID: /net/balvenie.sfbay/export/imgr_home/ws/20030228200906.jmasa.baseline/src/share/vm/opto/parse1.cpp, 876 [ Patched ]
----- -----
###@###.### 2003-03-27

Reproduces intermittently with mantis build and scripts in GammaBase/Bugs/4827458
-----

###@###.### 2003-05-05

I took a look at this bug hoping that it was related to 4838812,
which does not seem reproducible at present.

See Comments and Suggested Fix.
-----
###@###.### 2003-05-09

Confirmed that suggested fix does preserve the unloaded status of the klass.
-----
                                     
2003-05-09
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_05
generic
tiger

FIXED IN:
1.4.2_05
tiger

INTEGRATED IN:
1.4.2_05
tiger
tiger-b08

VERIFIED IN:
1.4.2_05


                                     
2004-06-14



Hardware and Software, Engineered to Work Together