Re: Process.exec() problem - more details

Etienne Gagnon <[email protected]> Sat, 16 Jul 2005 16:03:12 -0400
Newsgroups gmane.comp.java.vm.sablevm.devel
Message-ID <[email protected]>
Hi Peter,

Wait/notify problem on multiprocessor...  Why doesn't this surprise me?
 As you know, the Java memory model was initially broken.  It has been
fixed in some JSR, which is (I think) implemented in Sun's 1.5 SDK.
This JSR was not yet final when I wrote SableVM, so I decided at that
time to simply ignore multi-processor issues, as the official memory
model, at that time, was broken (there's no use to implement a broken spec).

Chris Pickett has started, at some point, to implement the necessary
memory barriers to implement the new (and fixed!) Java memory model in
SableVM, but as far as I know, his implementation is not complete, and
hasn't been reviewed for soundness.

So, until somebody contributes an implementation of the new memory
model, I suggest that you force your OS to run SableVM on a single
processor.  (I think that under Linux there's something called
"affinity" to do that; I have no idea how to do that under MacOS).

Hoping this helps,

Etienne

Peter Lovell wrote:
> From what I can see, the root cause seems to be a failure in the 
> wait/notify process in and around ProcessThread.run and  Process.waitFor
> in VMProcess.java
> ..
> Just for info, the test cases today are on Mac OS X using dual cpu.  The
> problem occurs sometime within about 600 tries.

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/

_______________________________________________
SableVM-devel mailing list
[email protected]
http://sablevm.org/lists/control/listinfo/sablevm-devel
signature.asc (application/pgp-signature, 256 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFC2WgGjyrJi4rH84gRArcuAJ4yJJbpzr3p/w79OW7hIqAqGI7boQCeIu4w
TmIWObqUfdjQ3vJLQTnoLHE=
=Sqsh
-----END PGP SIGNATURE-----