Michael Thome wrote:
I've been unable to get blackdown native-thread VM implementation to
work properly on my x86-based SMP machine.  I'd be interested in
corresponding with anyone who's had better luck.

Essentially the problem is that code like:
  synchronized (lock) {
    lock.wait();
  }
results in exceptions like:
  java.lang.IllegalMonitorStateException: current thread not owner
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java, Compiled Code)
        ...

I see it happening in my code, in jdk code (e.g. rmiregistry) and in
third-party code.  I have a short example which makes the bogon
trivially reproducable.

I haven't had any problems on single-cpu machines, though I run a
different kernel on those machines.

I'm mostly using Blackdown 1.2.2RC4 with javacomp (though jit doesn't
seem to matter).  IBM JDK1.3 beta exhibits almost identical behavior.
The "Sun" 1.3 beta with hotspot actually doesn't throw these
exceptions - it silently hangs instead.

BTW - I'm using a 2-cpu intel machine w/ various late-2.3-series
kernels and glibc 2.1.3.

I've had similar experiences, though on a 2.2.12 kernel.
I get the dumps when using either javacomp or sunwjit (Blackdown 1.2.2RC4) - maybe after minutes, maybe after hours.

I have been able to run long-term high-volume tests (48 hours, constant hammering, max-throughput testing) without problems when running with no jit at all - that's the only configuration in which I've had consistent repeatable results.

Haven't done any 1.3 SMP testing yet.

--
David Marshall       mailto:[EMAIL PROTECTED]
VM Systems, Inc.           http://www.vmguys.com
 


Reply via email to