RELENG_7 and diablo-jdk

Heiko Wundram (Beenic) wundram at beenic.net
Wed Dec 12 23:41:59 PST 2007


Am Mittwoch, 12. Dezember 2007 22:15:00 schrieb Tino Engel:
> for me, java apps always segfault under releng_7.
> They never did under releng_6.
> Have not found out yet why..

The JDK's hotspot compiler digs pretty deep into the system to compile Java 
code to machine code and run that dynamically. Because of the new operating 
system version (and changes it introduced), this simply doesn't work properly 
anymore without a recompile of the JDK for the current system (I haven't dug 
deeper into the actual cause of the "brokenness" yet, but the probable cause 
I could think of is some changes in the kernel system call interface between 
RELENG_6 and _7, which the JDK uses without going through libc as a wrapper 
shin which would hide the changes).

The workaround is simply to install one of the Sun JDKs from sources directly, 
using the Diablo JDK only to get a working XSLT-processor (which comes 
bundled with any JDK and doesn't cause the Diablo JDK to segfault when run), 
which is required in the bootstrapping process of the compilation of a JDK. 
After building and installing one of the Sun JDKs, you're free to remove the 
Diablo JDK; the functionality of the two is equal (AFAICT).

-- 
Heiko Wundram
Product & Application Development


More information about the freebsd-questions mailing list