Duplicate :
|
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]: