[Seaside] Connection Closed failure - should something handle this?

Kai-Uwe Pielka webmail at pielka.de
Fri Aug 20 06:55:41 UTC 2010


I'm running etumma.de with Pharo/Seaside on a debian server for several months now including Comet (for the shared slideshow you can use at etumma.de) and never got this error.

Kai-Uwe

Am 20.08.2010 um 08:34 schrieb TimM <tamackinnon at gmail.com>:

> I hit an interesting failure case this morning - I've been running Pharo Seaside3.0rc3 on my laptop and leaving it running in the background while I read about things, browse the web and suspend my laptop from time to time etc.
> 
> Things have been running well for a day, however this morning I noticed two walkbacks in my image, and the root cause seemed to be the Socket>>waitForDatFor: method.
> 
> I'm wondering if this is a legitimate failure case (from the above I've been a bit cavalier in suspend/resume etc - however looking at the error, I'm wondering if this could happen on a server?). Searching on the list, I can see others mention it but no-one comments on what do do.
> 
> I can see how the below method signals a failure (and given my suspend, resume and I can understand it) - but should something handle this rather than showing a debugger? Its left me wondering if I was running on a server, would I get debuggers everywhere - or do people configure things so this type of thing gets logged somewhere?
> 
> In Java this would get logged at an out level and execution would continue, what do people do in Pharo/Seaside?
> 
> Tim
> 
> waitForDataFor: timeout
> 	"Wait for the given nr of seconds for data to arrive.
> 	Signal a time out or connection close exception if either happens before data becomes available."
> 
> 	^self
> 		waitForDataFor: timeout
> 		ifClosed: [ConnectionClosed signal: 'Connection closed while waiting for data.']
> 		ifTimedOut: [ConnectionTimedOut signal: 'Data receive timed out.']
> 
> [] in Socket>>waitForDataFor:
> Socket>>waitForDataFor:ifClosed:ifTimedOut:
> Socket>>waitForDataFor:
> Socket>>receiveDataSignallingTimeout:into:startingAt:
> SocketStream>>receiveData
> SocketStream>>upToAll:
> HttpRequest>>readRequestHeaderFrom:
> HttpRequest>>initializeFromStream:
> HttpRequest class>>readFromStream:
> WAListenerAdaptor>>requestFor:
> WAListenerAdaptor(WAServerAdaptor)>>contextFor:
> WAListenerAdaptor(WAServerAdaptor)>>process:
> [] in [] in [] in WAListenerAdaptor>>waitForConnection:
> BlockClosure>>ensure:
> [] in [] in WAListenerAdaptor>>waitForConnection:
> BlockClosure>>ifCurtailed:
> [] in WAListenerAdaptor>>waitForConnection:
> [] in BlockClosure>>newProcess
> 
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


More information about the seaside mailing list