United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6598190 JPRT tests fail when run with -XX:+CheckUnhandledOops
JDK-6598190 : JPRT tests fail when run with -XX:+CheckUnhandledOops

Details
Type:
Bug
Submit Date:
2007-08-28
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
runtime
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs12 (b02)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
A number of JPRT tests fail when the VM is submitted with the -XX:+CheckUnhandledOops flag for testing.

Submit command: 
jprt submit -n -tf -XX:+CheckUnhandledOops -noquickabort -ot '.*fastdebug.*'

Fails the following test targets:

  solaris_sparcv9-fastdebug-c2-jvm98 solaris_i586-fastdebug-c1-jvm98
  solaris_i586-fastdebug-c2-jvm98 solaris_i586-fastdebug-c1-scimark
  solaris_i586-fastdebug-c2-scimark solaris_x64-fastdebug-c2-jvm98
  solaris_sparcv9-fastdebug-c2-GCBasher_CMS_2
  solaris_i586-fastdebug-c1-runThese_Xcomp_2
  solaris_i586-fastdebug-c1-runThese_Xshare
  solaris_i586-fastdebug-c2-GCBasher_default
  solaris_i586-fastdebug-c2-GCBasher_SerialGC
  solaris_i586-fastdebug-c2-GCBasher_ParallelGC
  solaris_i586-fastdebug-c2-GCBasher_ParNewGC
  solaris_i586-fastdebug-c2-GCBasher_CMS
  solaris_i586-fastdebug-c2-jbb_default
  solaris_i586-fastdebug-c2-jbb_ParallelGC solaris_i586-fastdebug-c2-jbb_CMS
  solaris_i586-fastdebug-c1-scimark_2 solaris_i586-fastdebug-c2-scimark_2
  solaris_i586-fastdebug-c1-scimark_3 solaris_i586-fastdebug-c2-scimark_3

There are a couple of SIGSEGVs and SIGBUSs, but most of the failures are an assertion:

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/frame_i486.inline.hpp:46
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/temp/P1/B/181240.km88527/source/src/cpu/i486/vm/frame_i486.inline.hpp:46),
  pid=7078, tid=2
#  Error: assert(pc != 0,"no pc?")
#
# Java VM: Java HotSpot(TM) Client VM
  (1.7.0-2007-08-27-181240.km88527.6584839-jprtadm-fastdebug mixed mode
  solaris-x86)
# An error report file with more information is saved as:
# /scratch/jprt/products/P1/scimark/hs_err_pid7078.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
VM option '+CheckUnhandledOops'
Current thread is 2
Dumping core ...
Abort - core dumped

                                    

Comments
EVALUATION

It is caused by Sun Studio 11 C++ compiler bug 6629277 "destructor call for temporary object in switch statement missing in some cases in Studio11".   Bad code is generated for DepChange::ContextStream::next() in dependencies.cpp.  A simple workaround is to enclose the offending switch statement clause in curly brackets.
                                     
2008-01-31



Hardware and Software, Engineered to Work Together