United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6579789 Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
JDK-6579789 : Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM

Details
Type:
Bug
Submit Date:
2007-07-12
Status:
Closed
Updated Date:
2011-03-07
Project Name:
JDK
Resolved Date:
2011-03-07
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs20 (b06)

Related Reports
Backport:
Backport:

Sub Tasks

Description
In attachment test executing following scenario: debuggee starts test thread executing large method, this thread is suspended by breakpoint event and then resumed. With fastdebug VM this 
test sometimes fails because of assertion failure in debuggee VM. I can reproduce it with linux-i586 (vmsqe-p3-02.russia) and solaris-i586 (vmsqe-p3-04.russia), the failure reproduces not every time (~1 from 10), please run test several times. The failure also reproducible with JDK6.

hs_err:
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/c1/c1_LinearScan.cpp:1429), pid=21811, tid=10
#  Error: assert(false,"")
#
# Java VM: Java HotSpot(TM) Client VM (1.7.0-ea-fastdebug-b15-fastdebug mixed mode solaris-x86)
# 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 (0x0818f800):  JavaThread "CompilerThread0" daemon [_thread_in_native, id=10, stack(0xce8e0000,0xce920000)]

Stack: [0xce8e0000,0xce920000]
[error occurred during error reporting (printing stack bounds), id 0xe0000000]


[error occurred during error reporting (printing native stack), id 0xe0000000]


Current CompileTask:
C1:  1% !   BreakpointTest001_Debuggee$TestThread.method1()Ljava/lang/Object; @ 254 (1015 bytes)


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

Java Threads: ( => current thread )
  0x08222800 JavaThread "TestThread" [_thread_in_Java, id=13, stack(0xc6710000,0xc6760000)]
  0x08193400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=11, stack(0xce880000,0xce8d0000)]
=>0x0818f800 JavaThread "CompilerThread0" daemon [_thread_in_native, id=10, stack(0xce8e0000,0xce920000)]
  0x08183800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=9, stack(0xce930000,0xce980000)]
  0x08182000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=8, stack(0xd0c20000,0xd0c70000)]
  0x0817f800 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=7, stack(0xd0c80000,0xd0cd0000)]
  0x0815ec00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6, stack(0xd0d50000,0xd0da0000)]
  0x08138c00 JavaThread "Finalizer" daemon [_thread_blocked, id=5, stack(0xd0db0000,0xd0e00000)]
  0x08137800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4, stack(0xd0e10000,0xd0e60000)]
  0x08085800 JavaThread "main" [_thread_in_native, id=2, stack(0xd23f0000,0xd2440000)]

Other Threads:
  0x08133000 VMThread [stack: 0xce990000,0xce9d0000] [id=3]
  0x08195000 WatcherThread [stack: 0xce830000,0xce870000] [id=12]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 960K, used 955K [0xc6800000, 0xc6900000, 0xc6ce0000)
  eden space 896K,  99% used [0xc6800000, 0xc68ded28, 0xc68e0000)
  from space 64K, 100% used [0xc68f0000, 0xc6900000, 0xc6900000)
  to   space 64K,   0% used [0xc68e0000, 0xc68e0000, 0xc68f0000)
 tenured generation   total 4096K, used 78K [0xc6ce0000, 0xc70e0000, 0xca800000)
   the space 4096K,   1% used [0xc6ce0000, 0xc6cf39d8, 0xc6cf3a00, 0xc70e0000)
 compacting perm gen  total 12288K, used 2639K [0xca800000, 0xcb400000, 0xce800000)
   the space 12288K,  21% used [0xca800000, 0xcaa93de0, 0xcaa93e00, 0xcb400000)
No shared spaces configured.

Dynamic libraries:
0x08050000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/bin/java
0xd2740000 	/usr/lib/libthread.so.1
0xd2720000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/bin/../lib/i386/jli/libjli.so
0xd277d000 	/usr/lib/libdl.so.1
0xd2650000 	/usr/lib/libc.so.1
0xd1000000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/client/libjvm.so
0xd2600000 	/usr/lib/libsocket.so.1
0xd25e0000 	/usr/lib/libsched.so.1
0xd25b0000 	/usr/lib/libm.so.1
0xd2570000 	/usr/lib/libCrun.so.1
0xd2550000 	/usr/lib/libdoor.so.1
0xd24a0000 	/usr/lib/libnsl.so.1
0xd2470000 	/usr/lib/libmp.so.2
0xd23a0000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/native_threads/libhpi.so
0xd2340000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libjdwp.so
0xd2320000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libnpt.so
0xd0fe0000 	/usr/lib/iconv/UTF-8%646.so
0xd0fc0000 	/usr/lib/iconv/646%UTF-8.so
0xd0f80000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libverify.so
0xd0f40000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libjava.so
0xd0f00000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libzip.so
0xd0d30000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libdt_socket.so
0xd0ce0000 	/usr/lib/nss_nis.so.1
0xc6770000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/libnet.so

VM Arguments:
jvm_args: -Xmixed -Xdebug -Xrunjdwp:transport=dt_socket,address=vmsqe-p3-04:57252,suspend=y 
java_command: BreakpointTest001_Debuggee
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=/set/vmsqe/jdk-builds/latest/solaris-i586/fastdebug/lib/tools.jar:.
PATH=/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/ucb:/usr/dist/local/exe:/usr/dist/exe:/usr/sfw/bin:/usr/lib/lp/postscript:.
LD_LIBRARY_PATH=/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386/client:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/lib/i386:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b15/solaris-i586/fastdebug/jre/../lib/i386
SHELL=/bin/bash
DISPLAY=d-espb04-127-83:0.0
HOSTTYPE=i386
OSTYPE=solaris2.9
MACHTYPE=i386-pc-solaris2.9

Signal Handlers:
SIGSEGV: [libjvm.so+0xa13d08], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c
SIGBUS: [libjvm.so+0xa13d08], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c
SIGFPE: [libjvm.so+0x813968], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0x813968], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c
SIGXFSZ: [libjvm.so+0x813968], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0x813968], sa_mask[0]=0x7fbffeff, 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+0x80fff0], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004
SIGHUP: [libjvm.so+0x80fff0], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0x80fff0], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0x80fff0], sa_mask[0]=0x7fbffeff, sa_flags=0x00000004
SIG39: [libjvm.so+0x813994], sa_mask[0]=0x00000000, sa_flags=0x00000008
SIG40: [libjvm.so+0x813968], sa_mask[0]=0x7fbffeff, sa_flags=0x0000000c


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

OS:                         Solaris 9 9/04 s9x_u7wos_09 x86
           Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                             Assembled 28 June 2004

uname:SunOS 5.9 Generic_118559-21 i86pc  (T2 libthread)
rlimit: STACK 8480k, CORE infinity, NOFILE 65536, AS infinity
load average:0.89 0.41 1.24

CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 8 stepping 6, cmov, cx8, fxsr, mmx, sse

Memory: 4k page, physical 523820k(339764k free)

vm_info: Java HotSpot(TM) Client VM (1.7.0-ea-fastdebug-b15-fastdebug) for solaris-x86, built on Jul  5 2007 03:40:23 by "" with unknown Workshop:0x580

time: Thu Jul 12 12:59:57 2007
elapsed time: 5 seconds
The CTW tests also fail with this assertion.

To reproduce run:
/net/sqenfs-1.sfbay/export1/jdk/re/6u18/promoted/all/b01/binaries/linux-i586/fastdebug/bin/java   -client  -XX:-ShowMessageBoxOnError -Xverify:all  -XX:+CompileTheWorld -XX:CompileTheWorldStartAt=1 -XX:CompileTheWorldStopAt=20 -XX:LogFile=hotspot_1_20.log -Xbootclasspath/p:/net/sqenfs-1.sfbay/export1/comp/vm/testbase/ctw/build/../jars/ibiblio/maven2/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar

The assertion is:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk6_18/hotspot/src/share/vm/c1/c1_LinearScan.cpp:1428), pid=11899, tid=2897574816
#  Error: assert(false,"")
#
# JRE version: 6.0_18-b01
# Java VM: Java HotSpot(TM) Client VM (16.0-b08-fastdebug mixed mode linux-x86 )
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

                                    

Comments
EVALUATION

The _sorted_intervals list under certain conditions can be become unsorted so it may need to be resorted sometimes.  It's a rare event and only occurs when UseSSE < 2.
                                     
2007-08-31
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7223744c2784
                                     
2010-12-18
EVALUATION

6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
Reviewed-by: kvn, iveresov

When using the x86 FPU, spilling at an exception entry point may
mutate the intervals so that _sorted_intervals is no longer sorted.
The fix is detect this case and resort as needed.  Additionally I
added some more assertion checks and fixed a printing problem that
would assert on partially allocated intervals.  Tested with new test
case and CTW
                                     
2011-01-12



Hardware and Software, Engineered to Work Together