[squeak-dev] OSProcess [Test Failure/Success]

Ross Boylan RossBoylan at stanfordalumni.org
Thu Sep 2 22:45:44 UTC 2010


On Thu, 2010-09-02 at 18:23 -0400, David T. Lewis wrote:
> On Thu, Sep 02, 2010 at 03:05:24PM -0700, Ross Boylan wrote:
> > I started Cuis's Sunit tester and selected the Unix test classes with
> > OSProcess in them.  The image crashed immediately when I ran the tests.
> > There was no debug log, but the terminal showed
> > XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server
> > ":0.0"
> >       after 94458 requests (94404 known processed) with 0 events
> > remaining.
> > squeak: ../../src/xcb_io.c:182: process_responses: Assertion `((int)
> > (((dpy->last_request_read)) - ((dpy->request))) <= 0)' failed.
> 
> Ross,
> 
> Thanks for your work on this. I'll add your bug fixes (from previous
> posts) to OSProcess this weekend.
Feel free to improve on them; as I noted, there may be ways to do so.
> 
> With respect to the failure above, what VM are you running? 
Smalltalk vmVersion
'Pharo0.1 of 16 May 2008 [latest update: #10074]'
It's an earlyish closure enabled VM, I think identical to the squeak
development VM around the same time.

If I understand your remarks (below), you are saying some of OSProcess
may not work with Cog; since I'm not using Cog, something else must be
going on.

I tried running the same tests in squeak 4.1 (same VM, though) and it
also crashed.  Ther terminal showed a dump of my /etc/hosts file and
then
squeak: ../../src/xcb_io.c:182: process_responses: Assertion `((int)
(((dpy->last_request_read)) - ((dpy->request))) <= 0)' failed.
i.e., the  same error as in Cuis.

It's possible that the tests or the order they were run in differed
between Cuis and squeak, since the unit test GUI is a bit different and
I might have selected slightly different tests (probably more in squeak
4.1, for which I filtered on *Process* and then removed the test class
with win32 in the name).

I'm wondering if the fact that I'm using a random binary VM, rather than
one built specifically for my system, might be causing trouble.

I tried with squeak4.1 and vmVersion  'Squeak3.10.2 of ''5 June
2008'' [latest update: #7179]', which probably was built specifically
for Debian.  All 131 tests passed.  Unfortunately, I don't think that VM
is closure enabled.

Ross

> I suspect
> that the timer changes in Cog may not sit well with the #forkSqueak
> in OSProcess (I'm afraid I have not checked yet, sorry). The reason
> I suspect this is that #forkSqueak has to shut off all timer signals
> while doing the fork, and reenable them afterwards in both the parent
> and child Squeak. The underlying timer notifications work differently
> in Cog, so it would not surprise me to see problems. You might try
> running some of the tests individually and avoid tests that are
> doing #forkSqueak. If my guess is right here, the rest of OSProcess
> will probably work fine as long as you don't try to fork a running
> copy of Squeak with #forkSqueak.
> 
> Dave




More information about the Squeak-dev mailing list