Hello Jav, OS X raises SIGBUS signal instead of SIGSEGV for certain memory access exceptions.
Please apply this diff to your hotspot src tree, rebuild and test. If this corrects your crash, please let me know and I will commit it to bsd-port. Regards, -Kurt On 12/23/10 02:29, Jav House wrote: > Hello all > As most people with PPC I am stack on JavaSE 5 but I need to use > JDeveloper and it requires at least 1.6. > While trying to install jdeveloper with openjdk7-macppc-2009-12-16-b4 on > MacOSX 10.5.8 PPC Quad with 16GB RAM > > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (os_bsd_zero.cpp:232), pid=595, tid=4034990080 > # Error: caught unhandled signal 10 > # > # JRE version: 7.0 > # Java VM: OpenJDK Zero VM (17.0-b05 interpreted mode bsd-ppc ) > # An error report file with more information is saved as: > # > /Volumes/Data/Users/nikoniko/Downloads/openjdk7-macppc-2009-12-16-b4/bin/hs_err_pid595.log > # > # If you would like to submit a bug report, please visit: > # http://java.sun.com/webapps/bugreport/crash.jsp > # > > > Has anyone succeed on installing Oracle's JDeveloper on PPC > with penjdk7-macppc-2009-12-16-b4? > Is there any new release coming? This is a year old release. > regards > > > > > > >
diff -r ff46c592a4e2 src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp --- a/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp Fri Dec 17 23:32:58 2010 -0800 +++ b/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp Fri Dec 24 08:39:27 2010 -0500 @@ -134,7 +134,7 @@ if (info != NULL && thread != NULL) { // Handle ALL stack overflow variations here - if (sig == SIGSEGV) { + if (sig == SIGSEGV || sig == SIGBUS) { address addr = (address) info->si_addr; // check if fault address is within thread stack @@ -193,7 +193,7 @@ // of write protecting the memory serialization page. It write // enables the page immediately after protecting it so we can // just return to retry the write. - if (sig == SIGSEGV && + if ((sig == SIGSEGV || sig == SIGBUS) && os::is_memory_serialize_page(thread, (address) info->si_addr)) { // Block current thread until permission is restored. os::block_on_serialize_page_trap();