JDK-6590177 : jck60019 test assert(!repeated,"do not walk merges twice")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0,7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9,solaris_10
  • CPU: sparc
  • Submitted: 2007-08-07
  • Updated: 2011-04-20
  • Resolved: 2011-04-20
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 Other
6u14Fixed hs12Fixed
Related Reports
Duplicate :  
Description
Nightly testing failure:
nsk/stress/jck60/jck60019

vmsge% grep "do not walk merges twice" 2007-08-*/C2_Baseline/vm/*/server/comp/*/hs_er*
2007-08-03/C2_Baseline/vm/SOLSPARC/server/comp/vm-SOLSPARC_server_comp_nsk.stress.testlist2007-08-03-20-33-26/hs_err_pid1002.log:#  Error: assert(!repeated,"do not walk merges twice")
2007-08-06/C2_Baseline/vm/64BITLINUX-AMD64/server/comp/vm-64BITLINUX-AMD64_server_comp_nsk.stress.testlist2007-08-06-20-25-40/hs_err_pid1737.log:#  Error: assert(!repeated,"do not walk merges twice")


#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/net/prt-sol-sparc-5/tmp/PrtBuildDir/workspace/src/share/vm/opto/gcm.cpp:511), pid=1002, tid=8
#  Error: assert(!repeated,"do not walk merges twice")
#
# Java VM: Java HotSpot(TM) Server VM (20070803141919.nips.superword64-fastdebug
 compiled mode solaris-sparc)
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

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

Current thread (0x0011c800):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=8, stack(0xf1e00000,0xf1e80000)]

Stack: [0xf1e00000,0xf1e80000],  sp=0xf1e7cb80,  free space=498k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)

V  [libjvm.so+0x1278dc4] void VMError::report_and_die() + 0x870
V  [libjvm.so+0x67565c] void report_assertion_failure(const char*,int,const char*) + 0x70
V  [libjvm.so+0x72fc60] Block*PhaseCFG::insert_anti_dependences(Block*,Node*,bool) + 0xbb4
V  [libjvm.so+0x732790] void PhaseCFG::schedule_late(VectorSet&,Node_List&) + 0xae8
V  [libjvm.so+0x732f24] void PhaseCFG::GlobalCodeMotion(Matcher&,unsigned,Node_List&) + 0x580
V  [libjvm.so+0x5dc2ec] void Compile::Code_Gen() + 0x294
V  [libjvm.so+0x5d5400] Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool)+ 0x20b4
V  [libjvm.so+0x43f844] void C2Compiler::compile_method(ciEnv*,ciMethod*,int) +0x84
V  [libjvm.so+0x5efb84] void CompileBroker::invoke_compiler_on_method(CompileTask*) + 0x1e84
V  [libjvm.so+0x5ecea8] void CompileBroker::compiler_thread_loop() + 0x1138
V  [libjvm.so+0x112f424] void JavaThread::thread_main_inner() + 0x238
V  [libjvm.so+0x112f1d4] void JavaThread::run() + 0x57c
V  [libjvm.so+0xee1664] java_start + 0x1b0


Current CompileTask:
C2:4015  !b  sun.reflect.GeneratedMethodAccessor57.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (402 bytes)


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

Java Threads: ( => current thread )
  0x007c9c00 JavaThread "RenderableImageProducer Thread" [_thread_blocked, id=387, stack(0xe7100000,0xe7180000)]
  0x006b9800 JavaThread "RenderableImageProducer Thread" [_thread_blocked, id=386, stack(0xef000000,0xef080000)]
  0x00691800 JavaThread "RenderableImageProducer Thread" [_thread_blocked, id=385, stack(0xe0300000,0xe0380000)]
  0x00490800 JavaThread "Thread-365" [_thread_blocked, id=376, stack(0xdab00000,0xdab80000)]
...

  0x00317800 JavaThread "Thread-4" [_thread_blocked, id=15, stack(0xf1400000,0xf1480000)]
  0x00317000 JavaThread "Thread-3" [_thread_blocked, id=14, stack(0xf1500000,0xf1580000)]
  0x00316800 JavaThread "Thread-2" [_thread_blocked, id=13, stack(0xf1600000,0xf1680000)]
  0x00316400 JavaThread "Thread-1" [_thread_blocked, id=12, stack(0xf1700000,0xf1780000)]
  0x00131800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=9, stack(0xf1d00000,0xf1d80000)]
=>0x0011c800 JavaThread "CompilerThread1" daemon [_thread_in_native, id=8, stack(0xf1e00000,0xf1e80000)]
  0x0011f800 JavaThread "CompilerThread0" daemon [_thread_in_native, id=7, stack
(0xf1f00000,0xf1f80000)]
  0x00144400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6, stack
(0xf2000000,0xf2080000)]
  0x00107c00 JavaThread "Finalizer" daemon [_thread_blocked, id=5, stack(0xf2100
000,0xf2180000)]
  0x00108800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4, stack
(0xf2200000,0xf2280000)]
  0x0004b000 JavaThread "main" [_thread_blocked, id=2, stack(0xfc980000,0xfca000
00)]

Other Threads:
  0x00102000 VMThread [stack: 0xf2300000,0xf2380000] [id=3]
  0x00134800 WatcherThread [stack: 0xf1c00000,0xf1c80000] [id=10]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 19648K, used 12531K [0xf2400000, 0xf3950000, 0xf3950000)
  eden space 17472K,  71% used [0xf2400000, 0xf3020fd8, 0xf3510000)
  from space 2176K,   5% used [0xf3730000, 0xf374be70, 0xf3950000)
  to   space 2176K,   0% used [0xf3510000, 0xf3510000, 0xf3730000)
 tenured generation   total 43712K, used 37024K [0xf3950000, 0xf6400000, 0xf6400000)
   the space 43712K,  84% used [0xf3950000, 0xf5d78080, 0xf5d78200, 0xf6400000)
 compacting perm gen  total 16384K, used 7818K [0xf6400000, 0xf7400000, 0xfa400000)
   the space 16384K,  47% used [0xf6400000, 0xf6ba2a68, 0xf6ba2c00, 0xf7400000)

No shared spaces configured.

Dynamic libraries:
0x00010000      /export/local/common/jdk/baseline/solaris-sparc/bin/java
0xff234000      /lib/libthread.so.1
0xff1c0000      /export/local/common/jdk/baseline/solaris-sparc/bin/../jre/lib/sparc/jli/libjli.so
0xff1e0000      /lib/libdl.so.1
0xff080000      /lib/libc.so.1
0xff198000      /platform/SUNW,Ultra-250/lib/libc_psr.so.1
0xfcc00000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/server/libjvm.so
0xff050000      /lib/libsocket.so.1
0xff190000      /usr/lib/libsched.so.1
0xff030000      /lib/libm.so.1
0xfeff0000      /usr/lib/libCrun.so.1
0xfefd0000      /lib/libdoor.so.1
0xfef00000      /lib/libnsl.so.1
0xfcb00000      /lib/libm.so.2
0xfeed0000      /lib/libscf.so.1
0xfeeb0000      /lib/libuutil.so.1
0xfee90000      /lib/libmd5.so.1
0xfcbe0000      /platform/SUNW,Ultra-250/lib/libmd5_psr.so.1
0xfcae0000      /lib/libmp.so.2
0xfca20000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/native_threads/libhpi.so
0xfc940000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/libverify.so
0xfc8f0000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/libjava.so
0xfc8d0000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/libzip.so
0xf1a00000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/libawt.so
0xfc850000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/xawt/libmawt.so
0xfa7c0000      /usr/openwin/lib/libXext.so.0
0xf1900000      /usr/openwin/lib/libX11.so.4
0xfc810000      /usr/openwin/lib/libXtst.so.1
0xfa790000      /usr/openwin/lib/libXi.so.5
0xf1180000      /export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/libmlib_image_v.so

VM Arguments:
jvm_args: -Xcomp -DHANGINGJAVA16186 -XX:-PrintVMOptions -XX:CompileThreshold=100
 -Xverify:all
java_command: nsk.stress.share.StressTestRunner -testList /export/local/common/testbase/6/vm/src/nsk/stress/jck60//jck60019/tests -stress:indulgent
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=/export/local/2519.JDK7.NIGHTLY.VM+SOLSPARC_server_comp_nsk.stress.tes
tlist/results/ResultDir/jck60019:/net/gtee.sfbay.sun.com/export/backup/harness/j
ck/6.0/JCK-runtime-6/classes:/export/local/common/testbase/6/vm/bin/classes:/exp
ort/local/common/jdk/baseline/solaris-sparc/lib/tools.jar
PATH=/export/local/common/jdk/baseline/solaris-sparc/bin:/bin:/usr/bin
LD_LIBRARY_PATH=/export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/se
rver:/export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc:/export/local
/common/jdk/baseline/solaris-sparc/jre/../lib/sparc:/net/gtee.sfbay.sun.com/expo
rt/backup/testbase/jck_6.0_libs_latest/solaris-sparcv9/32bit/:/export/local/comm
on/jdk/baseline/solaris-sparc/jre/lib/sparc/server
SHELL=/bin/ksh
DISPLAY=vmsqe.sfbay.sun.com:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x127a1a8], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGBUS: [libjvm.so+0x127a1a8], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGFPE: [libjvm.so+0xeeadac], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0xeeadac], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGXFSZ: [libjvm.so+0xeeadac], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0xeeadac], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGQUIT: [libjvm.so+0xee4b94], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGHUP: [libjvm.so+0xee4b94], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0xee4b94], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0xee4b94], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIG39: [libjvm.so+0xeeadcc], sa_mask[0]=0x00000000, sa_flags=0x00000008
SIG40: [libjvm.so+0xeeadac], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c


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

OS:                         Solaris 10 3/05 s10_74L2a SPARC
           Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 22 January 2005

uname:SunOS 5.10 Generic_118833-36 sun4u  (T2 libthread)
rlimit: STACK 10000k, CORE infinity, NOFILE 65536, AS infinity
load average:2.27 2.29 2.38

CPU:total 2 has_v8, has_v9, has_vis1

Memory: 8k page, physical 1048576k(424472k free)

vm_info: Java HotSpot(TM) Server VM (20070803141919.nips.superword64-fastdebug)
for solaris-sparc, built on Aug  3 2007 14:33:39 by "PRT" with unknown Workshop:
0x580

time: Sat Aug  4 00:13:46 2007
elapsed time: 427 seconds

Comments
SUGGESTED FIX Use additional worklist for all visited mergemem nodes to avoid processing them twice. The vectorset should_not_repeat and the assert were removed since they duplicate the functionality of the new worklist.
28-02-2008

EVALUATION In the current code a store node could be processed before and removed from worklist_store but it will be marked in should_not_repeat vector set. Next time we process the same store node it will be not on worklist_store but in should_not_repeat and it will cause the assert. With EA this assert was hit more times since EA added instances memory slices which could create more complex memory graph.
28-02-2008