JDK-6826960 : C2 Sparc: assert(bb->_nodes[_bb_end]->is_Proj(),"skipping projections after expected call")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs16
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2009-04-06
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
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 JDK 7 Other
6u18Fixed 7Fixed hs16Fixed
Related Reports
Relates :  
Description
The fix for 6823453 causes regression in Nigtly testing on Sparc:

% bin/java -Xcomp -XX:CompileThreshold=100 -XX:CompileOnly=Test -XX:+DoEscapeAnalysis Test
VM option 'CompileThreshold=100'
VM option 'CompileOnly=Test'
VM option '+DoEscapeAnalysis'
CompileOnly: compileonly *Test*.*
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/output.cpp:2262
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/B/205118.kvn/source/src/share/vm/opto/output.cpp:2262), pid=27589, tid=31
#  Error: assert(bb->_nodes[_bb_end]->is_Proj(),"skipping projections after expected call")
#
# JRE version: 7.0-b51
# Java VM: OpenJDK Server VM (15.0-b04-2009-04-03-205118.kvn.6823453-jvmg compiled mode solaris-sparc )
# An error report file with more information is saved as:
# /export/kvn/VM/hs_err_pid27589.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 31
Dumping core ...
Abort
dr-evil% hs_err hs_err_pid27589.log
# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
#  Internal Error (/tmp/jprt/P1/B/205118.kvn/source/src/share/vm/opto/output.cpp:2262), pid=27589, tid=31 
#  Error: assert(bb->_nodes[_bb_end]->is_Proj(),"skipping projections after expected call") 
# 
# JRE version: 7.0-b51 
# Java VM: OpenJDK Server VM (15.0-b04-2009-04-03-205118.kvn.6823453-jvmg compiled mode solaris-sparc ) 
# 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 (0x002a7c00):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=31, stack(0xb5100000,0xb5180000)] 
 
Stack: [0xb5100000,0xb5180000],  sp=0xb517de20,  free space=1f7b5180000k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
V  [libjvm.so+0xcf24f4] void VMError::report_and_die() + 0x9b4
V  [libjvm.so+0x60e5a0] void report_assertion_failure(const char*,int,const char*) + 0xc0
V  [libjvm.so+0xae7b2c] void Scheduling::DoScheduling() + 0x564
V  [libjvm.so+0xae534c] void Compile::ScheduleAndBundle() + 0xec
V  [libjvm.so+0xade794] void Compile::Output() + 0x66c
V  [libjvm.so+0x588f2c] void Compile::Code_Gen() + 0x6bc
V  [libjvm.so+0x582d20] Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool) + 0x1540
V  [libjvm.so+0x4853a0] void C2Compiler::compile_method(ciEnv*,ciMethod*,int) + 0xe8
V  [libjvm.so+0x5969bc] void CompileBroker::invoke_compiler_on_method(CompileTask*) + 0x5ac
V  [libjvm.so+0x595ca4] void CompileBroker::compiler_thread_loop() + 0x58c
V  [libjvm.so+0xc7637c] void compiler_thread_entry(JavaThread*,Thread*) + 0x8c
V  [libjvm.so+0xc7023c] void JavaThread::thread_main_inner() + 0x14c
V  [libjvm.so+0xc700d4] void JavaThread::run() + 0x25c
V  [libjvm.so+0xac2d98] java_start + 0x2c8
 
 
Current CompileTask: 
C2:  2   b  Test.main([Ljava/lang/String;)V (41 bytes) 
 
 
---------------  P R O C E S S  --------------- 
 
Java Threads: ( => current thread ) 
  0x002aac00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=32, stack(0xb5000000,0xb5080000)] 
=>0x002a7c00 JavaThread "CompilerThread1" daemon [_thread_in_native, id=31, stack(0xb5100000,0xb5180000)] 
  0x002a5400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=30, stack(0xb5200000,0xb5280000)] 
  0x002a3400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=29, stack(0xb5300000,0xb5380000)] 
  0x0028b400 JavaThread "Finalizer" daemon [_thread_blocked, id=28, stack(0xb5400000,0xb5480000)] 
  0x00286400 JavaThread "Reference Handler" daemon [_thread_blocked, id=27, stack(0xb5500000,0xb5580000)] 
  0x0003d400 JavaThread "main" [_thread_blocked, id=2, stack(0xfda00000,0xfda80000)] 
 
Other Threads: 
  0x00283000 VMThread [stack: 0xb5600000,0xb5680000] [id=26] 
  0x002adc00 WatcherThread [stack: 0xb4f00000,0xb4f80000] [id=33] 
 
VM state:not at safepoint (normal execution) 
 
VM Mutex/Monitor currently owned by a thread: None 
 
Heap 
 PSYoungGen      total 39424K, used 675K [0xe5c00000, 0xe8800000, 0xfb400000) 
  eden space 33792K, 2% used [0xe5c00000,0xe5ca8f70,0xe7d00000) 
  from space 5632K, 0% used [0xe8280000,0xe8280000,0xe8800000) 
  to   space 5632K, 0% used [0xe7d00000,0xe7d00000,0xe8280000) 
 PSOldGen        total 86016K, used 0K [0xbb000000, 0xc0400000, 0xe5c00000) 
  object space 86016K, 0% used [0xbb000000,0xbb000000,0xc0400000) 
 PSPermGen       total 16384K, used 1719K [0xb7000000, 0xb8000000, 0xbb000000) 
  object space 16384K, 10% used [0xb7000000,0xb71adc30,0xb8000000) 
 
Dynamic libraries: 
0x00010000 	/export/kvn/VM/bin/java 
0xff3a0000 	/lib/libthread.so.1 
0xff360000 	/export/kvn/VM/bin/../jre/lib/sparc/jli/libjli.so 
0xff340000 	/lib/libdl.so.1 
0xff200000 	/lib/libc.so.1 
0xff390000 	/platform/SUNW,Sun-Fire-T1000/lib/libc_psr.so.1 
0xfdc00000 	/export/kvn/VM/jre/lib/sparc/server/libjvm.so 
0xff300000 	/lib/libsocket.so.1 
0xff320000 	/usr/lib/libsched.so.1 
0xff1e0000 	/lib/libm.so.1 
0xff1b0000 	/usr/lib/libCrun.so.1 
0xff190000 	/lib/libdoor.so.1 
0xff080000 	/lib/libnsl.so.1 
0xfdb00000 	/lib/libm.so.2 
0xff160000 	/lib/libscf.so.1 
0xff140000 	/lib/libuutil.so.1 
0xff060000 	/lib/libgen.so.1 
0xff030000 	/lib/libmd.so.1 
0xff010000 	/platform/SUNW,Sun-Fire-T1000/lib/libmd_psr.so.1 
0xfeff0000 	/lib/libmp.so.2 
0xfdac0000 	/export/kvn/VM/jre/lib/sparc/libverify.so 
0xfd9c0000 	/export/kvn/VM/jre/lib/sparc/libjava.so 
0xfdaa0000 	/export/kvn/VM/jre/lib/sparc/native_threads/libhpi.so 
0xfd980000 	/export/kvn/VM/jre/lib/sparc/libzip.so 
 
VM Arguments: 
jvm_args: -Xcomp -XX:CompileThreshold=100 -XX:CompileOnly=Test -XX:+DoEscapeAnalysis  
java_command: Test 
Launcher Type: SUN_STANDARD 
 
Environment Variables: 
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:/opt/SUNWspro/bin:/set/misc/local/bin:. 
LD_LIBRARY_PATH=/export/kvn/VM/jre/lib/sparc/server:/export/kvn/VM/jre/lib/sparc:/export/kvn/VM/jre/../lib/sparc 
SHELL=/bin/csh 
 
Signal Handlers: 
SIGSEGV: [libjvm.so+0xcf3178], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
SIGBUS: [libjvm.so+0xcf3178], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
SIGFPE: [libjvm.so+0xace3d0], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
SIGPIPE: [libjvm.so+0xace3d0], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
SIGXFSZ: [libjvm.so+0xace3d0], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
SIGILL: [libjvm.so+0xace3d0], 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+0xac81b8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004 
SIGHUP: [libjvm.so+0xac81b8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004 
SIGINT: [libjvm.so+0xac81b8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004 
SIGTERM: [libjvm.so+0xac81b8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004 
SIG39: [libjvm.so+0xace420], sa_mask[0]=0x00000000, sa_flags=0x00000008 
SIG40: [libjvm.so+0xace3d0], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c 
 
 
---------------  S Y S T E M  --------------- 
 
OS:                       Solaris 10 5/08 s10s_u5wos_10 SPARC 
           Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved. 
                        Use is subject to license terms. 
                             Assembled 24 March 2008 
 
uname:SunOS 5.10 Generic_137111-07 sun4v  (T2 libthread) 
rlimit: STACK 8192k, CORE 0k, NOFILE 65536, AS infinity 
load average:0.16 0.08 0.06 
 
CPU:total 32 has_v8, has_v9, is_sun4v, is_niagara1 
 
Memory: 8k page, physical 8257536k(6660736k free) 
 
vm_info: OpenJDK Server VM (15.0-b04-2009-04-03-205118.kvn.6823453-jvmg) for solaris-sparc JRE (1.7.0), built on Apr  3 2009 15:24:08 by "jprtadm" with Workshop 5.9 
 
time: Mon Apr  6 14:48:58 2009 
elapsed time: 11 seconds

Comments
PUBLIC COMMENTS Problem: Scheduling code expects Halt nodes only after uncommon_trap calls. The fix for 6823453 generates Halt nodes for unreachable paths after allocations. Such Halt nodes are placed in separate blocks. Solution: Add the check when a Halt node is placed in a separate block.
07-04-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4ec1257180ec
07-04-2009