Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2002 16:14:08 -0700
From:      Bill Huey <billh@gnuppy.monkey.org>
To:        Ari Suutari <ari.suutari@syncrontech.com>
Cc:        Tim E Schafer <tim_schafer@agship.com>, Java FreeBSD <freebsd-java@FreeBSD.ORG>, freebsd-emulation@FreeBSD.ORG
Subject:   Re: All Linux JDK with Hotspot or JIT unstable on FreeBSD
Message-ID:  <20020523231408.GA2662@gnuppy.monkey.org>
In-Reply-To: <200205231024.23276.ari.suutari@syncrontech.com>
References:  <042e01c201ea$492bd6a0$441814ac@newtim> <200205231024.23276.ari.suutari@syncrontech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 23, 2002 at 10:24:23AM +0300, Ari Suutari wrote:
> 	It is known that linux jdks with hotspot are not stable on
> 	FreeBSD linux emulation. Must be something hard to fix,
> 	since it has been like this for quite a long time.
> 	(maybe this has something to do with signal handling
> 	differences between linux and freebsd ?)

It's almost certain the case. Linux's clone() uses SIGCHLD to notify
thread termination and other crazy non-Posix things in their threading
system. They can't implement the full specificiation without some kind
of kernel based signal sharing and other things. The HotSpot code
supporting this stuff is all over the place both inside and outside of 
their threading implementation.

> 	Yes. Maybe someone on freebsd-emulation mailing
> 	list could help. Before this gets fixed, one must be mad
> 	to run a production server using linux-jdk + hotspot + freebsd.
> 	Current solutions are (to my understanding) to either
> 	use native jdk 1.3 (which has no hotspot - yet - so performance
> 	is not so great) or install linux to your server and use linux-jdk
> 	(which works ok but you can kiss goodbye for freebsd :-()
> 
> 		Ari S.

The FreeBSD port of HotSpot over here is half running. I'm having problems
with the ABI layer that mediates/marshalls native calls from the HotSpot
system to the raw JVM. It uses the JVM for first class type support facilities.

Threads spawn and block correctly, the HotSpot interpreter subsystem initializes
correctly, classes initialize correctly, but it's having problems doing some
kind of JVM_ArrayCopy(), which implies some kind of stack corruption problem.

It's encouraging, yet disappointing since I'm just this random *guy* that's
just getting into what is probably the most advanced compiler of its kind on
that planet that's written in high complicated C++ program/class structure.

It's basically a SMPng-ed GCC in C++.

http://www.cs.ucsb.edu/labs/oocsb/self/

The Self runtime is what HotSpot is originally based upon and does insanely
complicate dynamic type analysis, adaptive inlining and other things that
pretty much represents what the state-of-the-art is for this kind of system.

bill


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020523231408.GA2662>