JDK-6420984 : Fastdebug Server VM asserts with -XX:+TraceIterativeGVN
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-05-03
  • Updated: 2010-04-03
  • Resolved: 2006-05-25
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
6 b85Fixed
Related Reports
Relates :  
Description
Fastdebug Server VM asserts with -XX:+TraceIterativeGVN.

jano% /java/re/jdk/1.6.0/promoted/latest/binaries/solaris-sparc/fastdebug/bin/java -server -XX:+TraceIterativeGVN -Xcomp t
VM option '+TraceIterativeGVN'
  Pop  136      Rethrow ===  126  127  120  8  9 exception 135  [[ 0 ]]  !Note=0x001256d8
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/allocation.cpp:44]
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk6.0/hotspot/src/share/vm/memory/allocation.cpp, 44 [ Patched ]), pid=27336, tid=25
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-beta2-fastdebug-b82-debug compiledmode)
#
# Error: assert(((ResourceObj *)p)->allocated_on_C_heap(),"delete only allowed for C_HEAP objects")
# An error report file with more information is saved as hs_err_pid27336.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 25
Dumping core ...
Abort
jano% hs_err hs_err_pid27336.log
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk6.0/hotspot/src/share/vm/memory/allocation.cpp, 44 [ Patched ]), pid=27336, tid=25
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-beta2-fastdebug-b82-debug compiledmode)
#
# Error: assert(((ResourceObj *)p)->allocated_on_C_heap(),"delete only allowed for C_HEAP objects")
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x001e7c00):  JavaThread "CompilerThread0" daemon [_thread_in_native, id=25]

Stack: [0xc4e82000,0xc4f01d98),  sp=0xc4efed50,  free space=499k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xf57f64] void VMError::report_and_die() + 0x808
V  [libjvm.so+0x3f9ef0] void report_assertion_failure(const char*,int,const char*) + 0x70
V  [libjvm.so+0x13820c] void ResourceObj::operator delete(void*) + 0x40
V  [libjvm.so+0xd754bc] char*Set::setstr()const + 0x328
V  [libjvm.so+0xd754fc] void Set::print()const + 0x38
V  [libjvm.so+0xcbcd80] void PhaseIterGVN::optimize() + 0x204
V  [libjvm.so+0x35f62c] void Compile::Optimize() + 0x1a8
V  [libjvm.so+0x359c64] Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool)+ 0x1e4c
V  [libjvm.so+0x1d6c54] void C2Compiler::compile_method(ciEnv*,ciMethod*,int) +0x6c
V  [libjvm.so+0x373674] void CompileBroker::invoke_compiler_on_method(CompileTask*) + 0x1e00
V  [libjvm.so+0x370b14] void CompileBroker::compiler_thread_loop() + 0xcc8
V  [libjvm.so+0xe5e714] void JavaThread::thread_main_inner() + 0x238
V  [libjvm.so+0xe5e4c4] void JavaThread::run() + 0x654
V  [libjvm.so+0xc2a878] java_start + 0x17c


Current CompileTask:
opto:  1   b  java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V (49 bytes)


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x001e9400 JavaThread "CompilerThread1" daemon [_thread_blocked, id=26]
=>0x001e7c00 JavaThread "CompilerThread0" daemon [_thread_in_native, id=25]
  0x001e4400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=24]
  0x001cf000 JavaThread "Finalizer" daemon [_thread_blocked, id=23]
  0x001cb000 JavaThread "Reference Handler" daemon [_thread_blocked, id=22]
  0x00047800 JavaThread "main" [_thread_blocked, id=4]

Other Threads:
  0x001c7000 VMThread [id=21]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 14336K, used 245K [0xea400000, 0xeb400000, 0xfa400000)
  eden space 12288K, 2% used [0xea400000,0xea43d718,0xeb000000)
  from space 2048K, 0% used [0xeb200000,0xeb200000,0xeb400000)
  to   space 2048K, 0% used [0xeb000000,0xeb000000,0xeb200000)
 PSOldGen        total 32768K, used 0K [0xca400000, 0xcc400000, 0xea400000)
  object space 32768K, 0% used [0xca400000,0xca400000,0xcc400000)
 PSPermGen       total 16384K, used 1595K [0xc6400000, 0xc7400000, 0xca400000)
  object space 16384K, 9% used [0xc6400000,0xc658eef8,0xc7400000)

Dynamic libraries:
0x00010000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/bin/java
0xff350000      /usr/lib/libthread.so.1
0xff330000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/bin/../jre/lib/sparc/jli/libjli.so
0xff320000      /usr/lib/libdl.so.1
0xff200000      /usr/lib/libc.so.1
0xff300000      /usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1
0xfcc00000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/jre/lib/sparc/server/libjvm.so
0xff1e0000      /usr/lib/libsocket.so.1
0xff1c0000      /usr/lib/libsched.so.1
0xff190000      /usr/lib/libm.so.1
0xff160000      /usr/lib/libCrun.so.1
0xff140000      /usr/lib/libdoor.so.1
0xfcb00000      /usr/lib/libnsl.so.1
0xff120000      /usr/lib/libmp.so.2
0xff040000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/jre/lib/sparc/native_threads/libhpi.so
0xfe7d0000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/jre/lib/sparc/libverify.so
0xfe790000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/jre/lib/sparc/libjava.so
0xfe760000      /net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fastdebug/jre/lib/sparc/libzip.so

VM Arguments:
jvm_args: -XX:+TraceIterativeGVN -Xcomp
java_command: t
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/java/re/jdk/1.5.0_08/promoted/latest/binaries/solaris-sparc
PATH=./:/home/kvn/bin:/bin:/usr/j2se/bin:/usr/dt/bin:/usr/ccs/bin:/usr/ccs/lib:/
usr/bin:/usr/lib:/usr/sbin:/usr/ucb:/usr/ucb/bin:/sbin:/etc:/usr/openwin/bin:/op
t/SUNWspro/bin:/set/misc/local/bin:.
LD_LIBRARY_PATH=/net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/solaris-sparc/fa
stdebug/jre/lib/sparc/server:/net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binaries/sol
aris-sparc/fastdebug/jre/lib/sparc:/net/jre.sfbay/p/v06/jdk/6.0/beta2/b82/binari
es/solaris-sparc/fastdebug/jre/../lib/sparc
SHELL=/bin/csh

Signal Handlers:
SIGSEGV: [libjvm.so+0xf59518], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGBUS: [libjvm.so+0xf59518], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGFPE: [libjvm.so+0xc3394c], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0xc3394c], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0xc3394c], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGUSR1: [libjvm.so+0xc3396c], sa_mask[0]=0x00008000, sa_flags=0x00000008
SIGUSR2: [libjvm.so+0xc3394c], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGHUP: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGQUIT: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGQUIT: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0xc2dac0], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGUSR1: [libjvm.so+0xc3396c], sa_mask[0]=0x00008000, sa_flags=0x00000008
SIGUSR2: [libjvm.so+0xc3394c], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c


---------------  S Y S T E M  ---------------

OS:                       Solaris 8 2/02 s28s_u7wos_08a SPARC
           Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
                           Assembled 18 December 2001

uname:SunOS 5.8 Generic_108528-29 sun4u  (T1 libthread)
rlimit: STACK 8192k, CORE 0k, NOFILE 1024, AS infinity
load average:0.18 0.36 0.61

CPU:total 16 has_v8, has_v9, has_vis1

Memory: 8k page, physical 3145728k(558760k free)

vm_info: Java HotSpot(TM) Server VM (1.6.0-beta2-fastdebug-b82) for solaris-sparc, built on Apr 27 2006 03:18:21 by "" with unknown Workshop:0x580

jano%

Comments
SUGGESTED FIX Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2006/20060505134303.kvn.6420984/workspace/webrevs/webrev-2006.05.05/index.html
05-05-2006

SUGGESTED FIX Remove the delete instruction in Set::setstr().
03-05-2006

EVALUATION The assert is due to the delete instruction in Set::setstr() since it trys to delete the clone of Set object which could be allocated only on Arena (see Set class constructors and VectorSet::clone()). The assert was added in Mustang for 6306746 fix.
03-05-2006