[squeak-dev] JNIPort preview for Squeak and Pharo available on SqueakSource

Levente Uzonyi leves at elte.hu
Wed Jun 9 17:32:30 UTC 2010

On Wed, 9 Jun 2010, Joachim Geidel wrote:

> Am 09.06.10 16:11 schrieb Levente Uzonyi:
>>> * Starting a JVM seems to lead to a deadlock in Squeak 4.1, but not in
>>> Pharo. When you start a JVM, nothing happens until you hit command-. (on a
>>> Mac), wait until a notifier for the user interrupt appears, and proceed. The
>>> problem seems to be somewhere in WeakRegistry; it disappears when you
>>> replace Squeak?s WeakRegistry by the WeakRegistry class from a Pharo image.
>> That's really interesting. I tried to reproduce it on windows without
>> success, the jvm just failed to start, then alien crashed the image. Can
>> you send a stack trace of the deadlock?
>> Levente
> The attachment contains a stack trace of the place where a user interrupt
> has always interrupted the stuck process so far. I suspect that the
> finalization process somehow interferes with the registration of new objects
> in the WeakRegistry. The problem is in a loop which creates wrapper methods
> for each of the Java classes found so far. It does not always happen at the
> same iteration, I have seen it happen for the first and for the fourth class
> in the list (I checked this only twice so far).

Thanks. It would be good to know if another process (for example the 
finalization process) is inside the critical section, or the semaphore is 
left without being signaled.

> What do you mean by "the jvm just failed to start"? Does it mean that the
> jvm.dll could not be found, i.e. the JNIPortJNIInterface could not load the
> library?

Exactly. Do I have to tell the path to the dll somewhere?


> HTH,
> Joachim

More information about the Squeak-dev mailing list