On 04.10.2011 20:57, Janko Mivšek wrote:
Hi guys

I have nonstartable Pharo 1.3 image, is there any way to get it started?

This image was running all the time, being on the net directly (Aida
based web development image) and snapshoting every hour.

The problem happens at such snapshot, raising Not enough space for
external objects/too many semaphores error and block. After I killed it,
snapshoted image is not startable anymore, more exactly: it starts in
blank window and stays unresponsive.

Is this too many semaphores error related to too many open sockets
problem we discussed not to long ago?

Any help greatly appreciated. Not to mention finding a bug and removing
it forever, because Pharo should become stable as a rock, as VW for
instance is :)

Best regards
Janko
Yes, it is.
Seems there are so many semaphores open, it cannot register the one used for event handler (done during startup), thus the image is unresponsive... Which is rather weird, as it deregisters the current one as part of shutDown, so there should always be at least one free, and this should never happen... Unless you have something earlier in the startuplist which consumes external semaphores without releasing them at shutDown?

... Which it seems to me you might.

HTTPServer when being #stop'ed correctly loses its socket (sets them to nil so they are finalizable), but connections do not nil their sockets. While the connections get removed from the HTTPServer instance's connection list, are they mayhaps still referenced somewhere else?

A good way to debug it might be to open a connection to a Swazoo server, save the image, then do a garbagecollect, HTTPConnection allInstances, and follow references to see why the sockets aren't finalizable.

Cheers,
Henry

Reply via email to