I've been unable to get blackdown native-thread VM implementation toI've had similar experiences, though on a 2.2.12 kernel.
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 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