JDK-4952992 : Assert/SEGV in C2 running jbb on Solaris x86
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_9
  • CPU: x86
  • Submitted: 2003-11-12
  • Updated: 2003-11-13
  • Resolved: 2003-11-13
Related Reports
Duplicate :  
Description
While running jbb with a recent version of hotspot, I am seeing an 
assert (in jvmg builds) or a SEGV (in profiling builds).

To reproduce, 

cd <jbb_directory>
java_g -server -classpath jbb.jar:jbb_no_precompile.jar:check.jar:reporter.jar -Xms200m -Xmx200m spec.jbb.JBBmain -propfile SPECjbb.props

The failure looks like:


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Loading Warehouse 1...


Heap memory after forced garbage collection
   Total Heap MB 199.4   Used MB  32.5   Free MB  166.8

Start Terminals
  started terminals for Warehouse 1

Benchmark SPECjbb2000 1.0: warehouse 1 terminal 1

Terminal Rampup began Wed Nov 12 13:02:21 EST 2003 for 0.17 minutes
Timing Measurement began Wed Nov 12 13:02:31 EST 2003 for 0.33 minutes
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/phaseX.hpp:155]
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  Internal Error (/net/kaiser/files1/hotspot/src/share/vm/opto/phaseX.hpp, 155), pid=85, tid=8
#
# Java VM: Java HotSpot(TM) Server VM (1.5-internal-debug mixed mode)
#
# Error: assert(t != 0,"must set before get")
# An error report file with more information is saved as hs_err_pid85.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 8
Dumping core ...
t@8 (l@8) signal ABRT (Abort) in _lwp_kill at 0xddacf2e7
0xddacf2e7: _lwp_kill+0x000c:   jae    _lwp_kill+0xf <0xddacf2ea>
Current function is os::abort
 1438       ::abort(); // dump core (for debugging)
[t@8 l@8]: where
current thread: t@8
  [1] _lwp_kill(0x8, 0x6), at 0xddacf2e7 
  [2] pthread_kill(0x8, 0x6), at 0xddb79cdd 
  [3] raise(0x6), at 0xddae4d2d 
  [4] abort(), at 0xddad00fe 
=>[5] os::abort(dump_core = 0x1), line 1438 in "os_solaris.cpp"
  [6] VMError::report_and_die(this = 0xd7b4e594), line 686 in "vmError.cpp"
  [7] report_assertion_failure(file_name = 0xdd78fc4b "/net/kaiser/files1/hotspot/src/share/vm/opto/phaseX.hpp", line_no = 0x9b, message = 0xdd78fc83 "assert(t != 0,"must set before get")"), line 210 in "debug.cpp"
  [8] PhaseTransform::type(this = 0xd7b4edc0, n = 0x8aef3c4), line 155 in "phaseX.hpp"
  [9] URShiftINode::Value(this = 0x8aef3c4, phase = 0xd7b4edc0), line 1035 in "mulnode.cpp"
  [10] PhaseIterGVN::transform_old(this = 0xd7b4edc0, n = 0x8f3b6a4), line 966 in "phaseX.cpp"
  [11] PhaseIterGVN::optimize(this = 0xd7b4edc0), line 838 in "phaseX.cpp"
  [12] Compile::Optimize(this = 0xd7b4f404), line 1293 in "compile.cpp"
  [13] Compile::Compile(this = 0xd7b4f404, ci_env = 0xd7b4fbf8, compiler = 0x81c6f88, target = 0x9162358, osr_bci = 0xffffffff, subsume_loads = 0x1), line 430 in "compile.cpp"
  [14] C2Compiler::compile_method(this = 0x81c6f88, env = 0xd7b4fbf8, target = 0x9162358, entry_bci = 0xffffffff), line 31 in "c2compiler.cpp"
  [15] CompileBroker::invoke_compiler_on_method(task = 0x8b1c478), line 1561 in "compileBroker.cpp"
  [16] CompileBroker::compiler_thread_loop(), line 1409 in "compileBroker.cpp"
  [17] compiler_thread_entry(thread = 0x8200d08, __the_thread__ = 0x8200d08), line 2504 in "thread.cpp"
  [18] JavaThread::thread_main_inner(this = 0x8200d08), line 1290 in "thread.cpp"
  [19] JavaThread::run(this = 0x8200d08), line 1274 in "thread.cpp"
  [20] _start(data = 0x8200d08), line 769 in "os_solaris.cpp"
  [21] _thr_setup(0xdda90e00), at 0xddb84524 
  [22] _lwp_start(), at 0xddb847b0 
[t@8 l@8]: