Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6422099
Votes 0
Synopsis C2 assert("live value must not be garbage")
Category hotspot:compiler2
Reported Against
Release Fixed mustang(b85), 5.0u19-rev(b04) (Bug ID:2178688) , 5.0u20-rev(b03) (Bug ID:2179633)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 6827657
Submit Date 04-MAY-2006
Description
I think, it happens due to changing of an Ideal graph since
the different changes in 1.5 and 1.6 caused the assert.
I was able to reproduce it on both 64bits VM: amd64 and sparcv9

jano% setenv TEST_JAVA /java/re/jdk/1.6.0/promoted/all/b82/binaries/solaris-sparcv9/fastdebug
jano% setenv LD_LIBRARY_PATH /net/sqesvr-nfs.sfbay/global/nfs/vm/users/viswadeep/1.5.0/VM/TIGER_TESTBASE/bin/lib/sparcv9/runtime/ParallelClassLoading/shared
jano% $TEST_JAVA/bin/java -d64 -server -Xverify:all -Xcomp -Xbatch -XX:+UnlockDiagnosticVMOptions -d64 -Xverify:all -cp /net/sqesvr-nfs.sfbay/global/nfs/vm/users/viswadeep/1.5.0/VM/TIGER_TESTBASE/bin/classes -agentlib:redefineClasses \
runtime.ParallelClassLoading.shared.ReflectionLoadingController -ITERATIONS 100 -DEBUG true -waitTimeInMin 2 -THREADS_COUNT 5 -classDir \
/net/sqesvr-nfs.sfbay/global/nfs/vm/users/viswadeep/1.5.0/VM/TIGER_TESTBASE/bin/classes/runtime/ParallelClassLoading/shared/hierarchies/static-load/static-init/anonymous/complex -class \
custom.R% -provoke reflect -provoke newInstance -regexForFreeingLock custom.A.\* -loadedClasses custom.D1,custom.D2,custom.D3,custom.D4,custom.D5,custom.D6,custom.D7,custom.D8,custom.D9,custom.D10

In 1.6 (Mustang) the assert started after the next fix (#6359906)

#  Internal Error (/net/prt-solamd64-q1-4/PrtBuildDir/workspace/src/share/vm/opto/parse1.cpp, 1555), pid=18647, tid=11
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20051214080340.nips.divmod-debug compiled mode)
#
# Error: assert(n != top() || r->in(pnum) == top(),"live value must not be garbage")

In 1.5.0_07 (Tiger update7) it started after (#6322757)

#  Internal Error (/net/prt-sparc-q2-9/tmp/PrtBuildDir/workspace/src/share/vm/opto/parse1.cpp, 1501 [ Patched ]), pid=12448, tid=26
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20051216122827.chrisphi.hotspot-debug compiled mode)
#
# Error: assert(n != top() || r->in(pnum) == top(),"live value must not be garbage")
Posted Date : 2006-05-04 21:32:12.0
Work Around
N/A
Evaluation
ciTypeFlow does not overwrite a type of first slot of a long/double local
when there was a store into second slot. It leads to the assert in a merge
point since Parser thinks the long/double local still alive on all
merged paths.
Posted Date : 2006-05-09 21:46:56.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang