# HG changeset patch # User roland # Date 1340265158 -7200 # Node ID 40782a131183d37694ac0fbfba4e08bfa770eff5 # Parent 6f8f439e247d0e8822135e11699caa56305d7b0e 7129715: MAC: SIGBUS in nsk stress test Summary: StackOverflowError may get lost on OSX. Reviewed-by: kvn, dcubed diff -r 6f8f439e247d -r 40782a131183 src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp --- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Tue Jun 19 15:12:56 2012 -0700 +++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Thu Jun 21 09:52:38 2012 +0200 @@ -516,7 +516,12 @@ } } - if (thread->thread_state() == _thread_in_Java) { + // We test if stub is already set (by the stack overflow code + // above) so it is not overwritten by the code that follows. This + // check is not required on other platforms, because on other + // platforms we check for SIGSEGV only or SIGBUS only, where here + // we have to check for both SIGSEGV and SIGBUS. + if (thread->thread_state() == _thread_in_Java && stub == NULL) { // Java thread running in Java code => find exception handler if any // a fault inside compiled code, the interpreter, or a stub