Name: dd4877 Date: 08/27/2004
###@###.### 2004-08-27
This bug tracks a couple of stress test failures observed with AsyncGetCallTrace()
on Solaris X86 with the Server VM. These failures have _not_ been seen in the wild.
The first crash has only been observed with product build bits with Java2Demo. Its
frequency is about 1-2 failures in 36 hours. The crash occurs in the sender() call
in the while-loop at the bottom of vframeForteStream(). The stack looks like:
---- called from signal handler with signal 11 (SIGSEGV) ------
[14] frame::sender(0xcefee6e8, 0xcefee744, 0xcefee754), at 0xdd4e5fbb
[15] vframeStreamForte::vframeStreamForte(0xcefee744, 0x8ad0c18, 0xcefeec14, 0xd7513053, 0xcefeec44, 0x0), at 0xdd703590
[16] forte_fill_call_trace_given_top(0x8ad0c18, 0xcefee8e8, 0x32, 0xcefeec14,
0xd7513053, 0xcefeec44), at 0xdd703d55
[17] AsyncGetCallTrace(0xcefee8e8, 0x32, 0xcefee994), at 0xdd703ff9
=>[18] profhandler(sig = 29, siginfo = 0xcefeeb94, ucontext = 0xcefee994), line
171 in "b4757672.c"
[19] __sighndlr(0x1d, 0xcefeeb94, 0xcefee994, 0xdd2112a8), at 0xddb64fff
[20] call_user_handler(0x1d, 0xcefeeb94, 0xcefee994), at 0xddb5efbb
[21] sigacthandler(), at 0xddb5f0e1
---- called from signal handler with signal 29 (SIGPROF) ------
[22] 0xd7513053(), at 0xd7513052
[23] 0xd7444083(0xcefeec78, 0xcefeee14, 0xa, 0xd32d8568, 0xd74085e0, 0xcefeed44, 0x2, 0x8ad0c18), at 0xd7444082
[24] JavaCalls::call_helper(), at 0xdd537c92
The second crash has been observed once with jvmg build bits with Java2Demo. The
crash occurred in a frame::sender_for_entry_frame() due to a bad JavaCallWrapper.
We added a sanity check for a bad JavaCallWrapper to Solaris SPARC, but had never
before seen a failure on X86. The stack looks like:
---- called from signal handler with signal 11 (SIGSEGV) ------
[12] frame::frame(this = 0xce67ef4c, sp = 0xfefefefe, fp = 0xfefefefe), line 82 in "frame_i486.hpp"
[13] frame::sender_for_entry_frame(this = 0xce67f140, map = 0xce67f034), line
109 in "frame_i486.cpp"
[14] frame::sender(this = 0xce67f140, map = 0xce67f034, cb = (nil)), line 252
in "frame_i486.cpp"
[15] forte_is_walkable_frame(thread = 0x82cc958, fr = 0xce67f2e0, walkframe_p
= 0xce67f2b4, method_p = 0xce67f2b0, bci_p = 0xce67f2ac), line 621 in "forte.cpp"
[16] forte_fill_call_trace_given_top(thd = 0x82cc958, trace = 0xce67f334, depth = 50, top_frame = CLASS), line 703 in "forte.cpp"
[17] AsyncGetCallTrace(trace = 0xce67f334, depth = 50, ucontext = 0xce67f3e0), line 908 in "forte.cpp"
[18] profhandler(sig = 29, siginfo = 0xce67f5e0, ucontext = 0xce67f3e0), line
171 in "b4757672.c"
[19] __sighndlr(0x1d, 0xce67f5e0, 0xce67f3e0, 0xdc9f12a8), at 0xddb64fff
[20] call_user_handler(0x1d, 0xce67f5e0, 0xce67f3e0), at 0xddb5efbb
[21] sigacthandler(), at 0xddb5f0e1
---- called from signal handler with signal 29 (SIGPROF) ------
[22] 0xd6d338f3(), at 0xd6d338f2
[23] _thr_getspecific(0xce67f724, 0xce67f920, 0xa, 0xd2dde7a0, 0xd6c0abe0, 0xce67f84c, 0x7, 0x82cc958), at 0xddb644fd
[24] JavaCalls::call_helper(result = 0xce67f91c, m = 0xce67f7e4, args = 0xce67f844, __the_thread__ = 0x82cc958), line 367 in "javaCalls.cpp"
======================================================================