###@###.### 2003-01-08
I did a stress run with the following bits:
- libthread patch for:
4484522 2/2 Call from HotSpot JavaVM to libthread "T1" thr_suspend hangs
on Solaris SPARC; forgot about Solaris X86 :-(
- Mantis-B11
- new Client VM bits:
main/baseline as of 2003.01.03 @ 0812 PST
- new hprof library bits:
service_sdk_baseline as of 2003.01.03 @ 0937 PST
- new jdwp library bits:
service_sdk_baseline as of 2003.01.03 @ 0947 PST
- additional guarantees:
none
- additional debugging:
wait_for_ext_suspend_completion() debug bits
I used an Ultra 80 running Solaris 8 with 2x450MHZ and 1GB of memory for
the Solaris SPARC stress machine.
Testing configuration:
- java MultiBreakpointsTest
- java_g MultiBreakpointsTest
- java -Xrunhprof:cpu=samples PepTest
- java_g -XX:+SafepointALot -Xrunhprof:cpu=samples PepTest
The stress run lasted for 62 hours. The "java_g PepTest" config failed
one assertion in 1927 runs.
# assert(has_cached_state(), "sanity check")
#
# Error ID: src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp, 1026
I have attached the complete log as hotspot.log.364.
Here is the relevant part of the stack trace for the failing thread
(the hprof agent sampler thread):
[9] report_assertion_failure(code_str = 0xfe37b7d6 "has_cached_state()", file_
name = 0xfe37b7e9 "/work/ws/hotspot/main/baseline-stress/src/os_cpu/solaris_spar
c/vm/os_solaris_sparc.cpp", line_no = 1026, message = 0xfe37b840 "sanity check")
, line 237 in "debug.cpp"
[10] JavaFrameAnchor::make_walkable(this = 0x3fcc8, is_definitely_current_thre
ad = 0, thread = 0x3fc30), line 1026 in "os_solaris_sparc.cpp"
[11] JavaThread::last_frame(this = 0x3fc30), line 1094 in "thread.hpp"
[12] vframeStream::vframeStream(this = 0xfba81828, thread = 0x3fc30, stop_at_j
ava_call_stub = 0), line 558 in "vframe.cpp"
[13] fill_call_trace_at_safepoint(thd = 0x3fc30, trace = 0x282cf8, depth = 4),
line 2936 in "jvmpi.cpp"
[14] jvmpi::get_call_trace(trace = 0x282cf8, depth = 4), line 3163 in "jvmpi.c
pp"
[15] hprof_cpu_loop(p = (nil)), line 234 in "hprof_cpu.c"
[16] jvmpi_daemon_thread_entry(thread = 0x1b1818, __the_thread__ = 0x1b1818),
line 3502 in "jvmpi.cpp"
Here is the relevant part of the stack trace for the target thread:
[5] Monitor::wait(this = 0x406f8, no_safepoint_check = 1, timeout = 0), line 1
87 in "mutex_solaris.cpp"
[6] os::pd_self_suspend_thread(thread = 0x3fc30), line 1196 in "os_solaris.cpp
"
[7] JavaThread::java_suspend_self(this = 0x3fc30), line 1653 in "thread.cpp"
[8] JavaThread::check_safepoint_and_suspend_for_native_trans(thread = 0x3fc30)
, line 1692 in "thread.cpp"
[9] ThreadStateTransition::transition_from_native(thread = 0x3fc30, to = _thre
ad_in_vm), line 113 in "interfaceSupport.hpp"
[10] ThreadStateTransition::trans_from_native(this = 0xffbebce0, to = _thread_
in_vm), line 120 in "interfaceSupport.hpp"
[11] ThreadInVMfromNative::ThreadInVMfromNative(this = 0xffbebce0, thread = 0x
3fc30), line 165 in "interfaceSupport.hpp"
[12] jni_GetIntField(env = 0x3fcd8, obj = 0x1b88bc, fieldID = 0xab1a423), line
1169 in "jni.cpp"
[13] writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8, 0x0, 0x1, 0xa1c3e23), at 0xfe
79404c
[14] Java_java_io_FileOutputStream_writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8,
0x0, 0x1, 0x0), at 0xfe78c590
[15] 0xf900dedc(0xf1312a20, 0xffbedf34, 0xffbedf38, 0x10, 0x0, 0xffbede50), at
0xf900dedb
I have attached an annotated thread dump as threads.log.364.
I did a stress run with the following bits:
- libthread patch for:
4484522 2/2 Call from HotSpot JavaVM to libthread "T1" thr_suspend hangs
on Solaris SPARC; forgot about Solaris X86 :-(
- Mantis-B11
- new Client VM bits:
main/baseline as of 2003.01.03 @ 0812 PST
- new hprof library bits:
service_sdk_baseline as of 2003.01.03 @ 0937 PST
- new jdwp library bits:
service_sdk_baseline as of 2003.01.03 @ 0947 PST
- additional guarantees:
none
- additional debugging:
wait_for_ext_suspend_completion() debug bits
I used an Ultra 80 running Solaris 8 with 2x450MHZ and 1GB of memory for
the Solaris SPARC stress machine.
Testing configuration:
- java MultiBreakpointsTest
- java_g MultiBreakpointsTest
- java -Xrunhprof:cpu=samples PepTest
- java_g -XX:+SafepointALot -Xrunhprof:cpu=samples PepTest
The stress run lasted for 62 hours. The "java_g PepTest" config failed
one assertion in 1927 runs.
# assert(has_cached_state(), "sanity check")
#
# Error ID: src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp, 1026
I have attached the complete log as hotspot.log.364.
Here is the relevant part of the stack trace for the failing thread
(the hprof agent sampler thread):
[9] report_assertion_failure(code_str = 0xfe37b7d6 "has_cached_state()", file_
name = 0xfe37b7e9 "/work/ws/hotspot/main/baseline-stress/src/os_cpu/solaris_spar
c/vm/os_solaris_sparc.cpp", line_no = 1026, message = 0xfe37b840 "sanity check")
, line 237 in "debug.cpp"
[10] JavaFrameAnchor::make_walkable(this = 0x3fcc8, is_definitely_current_thre
ad = 0, thread = 0x3fc30), line 1026 in "os_solaris_sparc.cpp"
[11] JavaThread::last_frame(this = 0x3fc30), line 1094 in "thread.hpp"
[12] vframeStream::vframeStream(this = 0xfba81828, thread = 0x3fc30, stop_at_j
ava_call_stub = 0), line 558 in "vframe.cpp"
[13] fill_call_trace_at_safepoint(thd = 0x3fc30, trace = 0x282cf8, depth = 4),
line 2936 in "jvmpi.cpp"
[14] jvmpi::get_call_trace(trace = 0x282cf8, depth = 4), line 3163 in "jvmpi.c
pp"
[15] hprof_cpu_loop(p = (nil)), line 234 in "hprof_cpu.c"
[16] jvmpi_daemon_thread_entry(thread = 0x1b1818, __the_thread__ = 0x1b1818),
line 3502 in "jvmpi.cpp"
Here is the relevant part of the stack trace for the target thread:
[5] Monitor::wait(this = 0x406f8, no_safepoint_check = 1, timeout = 0), line 1
87 in "mutex_solaris.cpp"
[6] os::pd_self_suspend_thread(thread = 0x3fc30), line 1196 in "os_solaris.cpp
"
[7] JavaThread::java_suspend_self(this = 0x3fc30), line 1653 in "thread.cpp"
[8] JavaThread::check_safepoint_and_suspend_for_native_trans(thread = 0x3fc30)
, line 1692 in "thread.cpp"
[9] ThreadStateTransition::transition_from_native(thread = 0x3fc30, to = _thre
ad_in_vm), line 113 in "interfaceSupport.hpp"
[10] ThreadStateTransition::trans_from_native(this = 0xffbebce0, to = _thread_
in_vm), line 120 in "interfaceSupport.hpp"
[11] ThreadInVMfromNative::ThreadInVMfromNative(this = 0xffbebce0, thread = 0x
3fc30), line 165 in "interfaceSupport.hpp"
[12] jni_GetIntField(env = 0x3fcd8, obj = 0x1b88bc, fieldID = 0xab1a423), line
1169 in "jni.cpp"
[13] writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8, 0x0, 0x1, 0xa1c3e23), at 0xfe
79404c
[14] Java_java_io_FileOutputStream_writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8,
0x0, 0x1, 0x0), at 0xfe78c590
[15] 0xf900dedc(0xf1312a20, 0xffbedf34, 0xffbedf38, 0x10, 0x0, 0xffbede50), at
0xf900dedb
I have attached an annotated thread dump as threads.log.364.
- duplicates
-
JDK-4794854 StateSaver and ThreadToNativeFromVM misused
-
- Closed
-
- relates to
-
JDK-8218446 SuspendAtExit hangs
-
- Closed
-
-
JDK-4803184 HPROF: nsk/hprof/options/cpu/cpu004 crashes on Solaris Sparc
-
- Closed
-