OSProcessPlugin and AioPlugin for OS-X

David T. Lewis lewis at mail.msen.com
Thu Dec 27 22:43:25 UTC 2007


On Thu, Dec 27, 2007 at 11:38:31AM -0800, John M McIntosh wrote:
> Ok, I did a bit more poking at this yesterday and find all the  
> pipeline tests fail on powerpc 10.4.11. I'm not sure why, oddly it  
> sometimes works so there must be some timing issue? In cross checking  
> I can occasionally get the macintel 10.5.1 version to crash the VM

It's entirely possible that there are timing issues. The
CommandShellTestCase tests (and CommandShell in general) use
lots of Processes both in the command pipelines themselves, and
in the buffered async I/O streams that are used for the pipes.
It took quite a while to get this running reliably, and even
now I will occasionally get test failures when running the full
test suite even though the individual tests run without problems.
So I would not be entirely surprised if a different combination
of hardware speed and VM were to flush out one or two more glitches.
Also, there has been a fair amount of discussion about patches
to Delay and friends on the Seaside list, and I would not be
surprised if the CommandShell test suite is vulnerable to some
of those same issues.

> However i'll note running the powerpc version under gdb works fine.  
> Could it be that running as a double-clicked application stdin/stdout  
> isn't opened and causing issues?

I guess it's possible. I don't know where those streams get redirected
when running as a "normal" Mac application, but anything that affects
timing and overall performance of the VM might have an effect.

One other thing that I use as an overall torture test for CommandShell
is to open two or three command shell windows, and in each of them
run the command "$ ls -lR /". This generates tons of I/O and window
updating. If you leave these running to completion without getting
a red window of death then things are looking pretty good.

Note: Use <ctl>C in the command window to interrupt the "ls -lR /"
process when you get tired of watching it. Also with respect to
<ctl>C events, note Mantis <http://bugs.squeak.org/view.php?id=6827>.
My current workaround for this in CommandShell causes the copy
text shortcut to be broken in a command shell, but does ensure
that you can use <ctl>C to interrupt long running external processes
from the command shell.

Dave




More information about the Squeak-dev mailing list