Thu, 21 Jun 2012 09:52:38 +0200
7129715: MAC: SIGBUS in nsk stress test
Summary: StackOverflowError may get lost on OSX.
Reviewed-by: kvn, dcubed
src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Tue Jun 19 15:12:56 2012 -0700 1.2 +++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Thu Jun 21 09:52:38 2012 +0200 1.3 @@ -516,7 +516,12 @@ 1.4 } 1.5 } 1.6 1.7 - if (thread->thread_state() == _thread_in_Java) { 1.8 + // We test if stub is already set (by the stack overflow code 1.9 + // above) so it is not overwritten by the code that follows. This 1.10 + // check is not required on other platforms, because on other 1.11 + // platforms we check for SIGSEGV only or SIGBUS only, where here 1.12 + // we have to check for both SIGSEGV and SIGBUS. 1.13 + if (thread->thread_state() == _thread_in_Java && stub == NULL) { 1.14 // Java thread running in Java code => find exception handler if any 1.15 // a fault inside compiled code, the interpreter, or a stub 1.16