JDK-6340753 : ParallelGC: SIGBUS (0xa) at pc=0xffffffff3010be18 detected by HotSpot VM
Type:Bug
Component:hotspot
Sub-Component:runtime
Affected Version:5.0u5,5.0u6
Priority:P3
Status:Closed
Resolution:Cannot Reproduce
OS:solaris_nevada
CPU:sparc
Submitted:2005-10-24
Updated:2010-08-05
Resolved:2006-05-01
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
EVALUATION
Filed 6420129: Hotspot crashes with a segv in os::is_first_C_frame() to cover
the is_first_C_frame() bug.
01-05-2006
SUGGESTED FIX
src/share/vm/runtime.os.cpp (new vs old)
591,597d590
< // Load up sp, fp, sender sp and sender fp, check for reasonable values.
< // Check usp first, because if that's bad the other accessors may fault
< // on some architectures. Ditto ufp second, etc.
<
< uintptr_t usp = (uintptr_t)fr->sp();
< if ((usp & (sizeof(address) - 1)) != 0) return true;
<
599,600c592
< if ((ufp & (sizeof(address) - 1)) != 0) return true;
<
---
> uintptr_t usp = (uintptr_t)fr->sp();
602,603d593
< if ((old_sp & (sizeof(address) - 1)) != 0) return true;
<
605d594
< if ((old_fp & (sizeof(address) - 1)) != 0) return true;
617a607,610
> // see if old_fp and old_sp are correctly aligned
> if ((old_fp & (sizeof(address) - 1)) != 0) return true;
> if ((old_sp & (sizeof(address) - 1)) != 0) return true;
01-05-2006
EVALUATION
Using a 5.0_08 version of Hotspot with a revised is_first_C_frame (see suggested fix),
I ran specjbb2005 in an infinite loop for 6 days on burl-6800-2-a.east (a 24-way
750mhz serengeti) up 48 warehouses using these switches
-d64 -Xbatch -Xms8G -Xmx8G -Xss256K -XX:+UseParallelGC -XX:ParallelGCThreads=8 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintCommandLineFlags -verbose:gc -XX:+ShowMessageBoxOnError
If there's still an underlying SIGBUS problem, it appears to have either been
fixed since 5.0_06, or to be NR.