On 02 Sep 2011, at 13:26, Lukas Renggli wrote:

> +1, I had a similar problem at some point from an image built on Jenkins.

The current version of ZnMultiThreadedServer does not hold references to all 
the connections (worker processes) it creates. This has several implications. A 
running server that is #register-ed will receive #start/#stop on image 
save/startup and will close/reopen its server socket correctly. However, it 
(currently) cannot do the same for (kept-alive) connections with open sockets 
in worker processes. Hence it might happen occasionally that such processes 
survive and keep working with dead connections/sockets. Apparently this now 
leads to a crash rather than a normal error. 

It would be better if this were prevented. I will have a look to see if I can 
keep track of these connections and worker processes in a weak data structure 
so that they can be managed better.

The workaround (this is what I do) is not to save images with working server(s) 
and to start the server(s) from the startup script. See for example: 
http://zn.stfx.eu/zn/pharo-server.sh

Sven


Reply via email to