On Thu, Jan 28, 2010 at 04:10:55PM +0000, David Corking wrote:
On Wed, Jan 27, David T. Lewis wrote:
I tried it on my dual core intel mac (older 32 bit one), and the VM (Squeak4.3.1 Beta1U) crashed. So I loaded the OSProcess tests into an up to date trunk image, and running the tests in UnixProcessTestCase crashed the VM. This also happens in the Pharo Dev 1.0 RC2.
Obviously crashing the VM is not acceptable regardless of what the application is doing, so something is badly wrong here.
As far as I can tell, the Cocoa and Carbon VMs do not ship with pre-built plugins necessary for OSProcess. I naively tried David's test with a couple and crashed the VM each time. Mike, did you build your own OSProcess and AIO plugins?
(I tried one of Ian Piumarta's Unix VMs for Darwin, because it came with pre-built plugins, and it didn't crash the VM, but several of the tests in Test-OSProcess failed. I chose not to document it or pursue it further, partly because Mac OS X 10.4 is not supported by recent VMs.)
David: which image and VM did you use?
I am using a 3.11.12-2146 VM compiled in 64-bit mode on my AMD-64 laptop with Linux, and a Squeak trunk image. This is a slow single-core CPU.
In testing OSProcess and CommandShell, I will occasionally get test failures on one of the CommandShell or file lock tests. This is apparently due to timing variations in some of the tests that depend on synchronization of lots of external processes.
Last I checked, the CommandShell tests have problems on a Pharo image. Again this is probably timing related, although I suspect that that heavy process switching in the CommandShell tests may be exposing an issue in the Pharo image (I'm not at all certain of other root cause here).
I don't know how reliable this is on OS X. I know that most OSProcess functions work on OS X, but I'm not sure how solid the #forkSqueak is. AioPlugin is not included on OS X, although I expect that it would work if you try compiling it, because the Mac and Unix VMs share the same aio functions in the support code.
Dave