[squeak-dev] Starting processes from Squeak makes Raspbian unwilling to start another process

Herbert König herbertkoenig at gmx.net
Sat Feb 7 18:46:43 UTC 2015


now that I noticed the zombies I can experiment much faster so here some 
further information:

Stopping Squeak removes all Zombies. Each sensor event creates 3 
Zombies, two for the I2Csends, one for the I2Cread.
Sending the PipeableOSProcess instances #closePipes then #release 
doesn't help.
Sending the ExternalUnixProcess instances #terminate doesn't help either.
Sending an additional PipeableOSProcess>>unixCommandPipeLine doesn't add 
a Zombie but returns ''.
PipeableOSProcess>>tkExample works fine and doesn't add Zombies.

So is it a problem of I2Ctools? Should I try other Linux commands?



Am 07.02.2015 um 18:11 schrieb Herbert König:
> Hi,
> I managed to make Raspbian unwilling to open any new process. Neither 
> in the X session, nor from Squeak nor from a SSH session.
> It seems I create Zombie processes (what is that, in the SSH session I 
> ran top and it reports thousands of zombies).
> What I do: I poll a GPIO pin every 100ms. When it is high I query I2C 
> via:
> (PipeableOSProcess command: 'i2cget -y ', busNo, ' ', address) output
> and when I find a certain bit set, I switch on some LEDs via:
> current := ExternalUnixOSProcess command: 'i2cset -y ', busNo, ' ', 
> address, ' ', aString.
> OSProcess thisOSProcess unregisterChildProcess: current. "This doesn't 
> unregister the process?????"
> current := nil.
> I found 2700++ instances of ExternalOSProcess, emptied the Dictionary 
> via UnixProcess>>unregisterChildProcess and it stopped when it 
> accumulated to another 900+ instances.
> This ran for half a day until It can't start another process. First I 
> thought this was the Raspbian update for the PasPi B2 but now I 
> reproduced it on a Pi A+ last updated mid January.
> Having read Wikipedia on Zombie Process it seems, that I should try to 
> kill each process I started?
> What do I do to the PipeableOSProcess? closePipes? release?
> Thanks,
> Herbert

More information about the Squeak-dev mailing list