Delay and Server reliability

Andreas Raab andreas.raab at gmx.de
Sat Jul 28 01:27:16 UTC 2007


Ah yes, of course. You're missing another batch of fixes that we have 
long applied to our servers. In this case it's the handling of 
Semaphore>>critical: (which is broken in all Squeak versions). Give the 
attached changes a try and if it still don't work I'm sure there are 
more fixes that we've applied in the meantime ;-)

Cheers,
   - Andreas

David Shaffer wrote:
> Andreas Raab wrote:
>> I'm pretty sure it's complete. If you want some help do this:
>> * Launch the VM with output redirected to a file
>> * Wait until it locks up
>> * Attach gdb to the running process, e.g,:
>>   gdb --pid: <pid of vm>
>> * Have it print all the call stacks, e.g.:
>>   p (int)printAllStacks
>> * Look at the result output file.
>>
> Thanks for the gdb tip.  I can look at the processes via my Seaside 
> server as well since it is still responding.  Anyway the debugging 
> output is below.  The TdTimer processes are not making progress 
> although, in one case, the sleep should only be for 60 seconds.  The VNC 
> server accepts connections but isn't responding to user input including 
> alt-. (although the VNC cursor tracks and there is sometimes UI activity 
> if, for example, the Transcript window is open).  If I enter (Delay 
> forSeconds: 5) wait in  a web-browser based workspace it will hang 
> forever although, as I mentioned, I am able to interact with the image 
> in other ways through this workspace.
> 
> It seems like the list below isn't complete since I have a web server 
> process blocked waiting for connections...but anyway the image exhibits 
> this behavior with and without your Delay patch applied.
> 
> David
> 
> 
> Process
> 2064888972 >idleProcess
> 2064858556 [] in >startUp
> 2064858648 [] in BlockContext>newProcess
> 
> 
> 
> Process
> 2064885004 >finalizationProcess
> 2064884820 [] in >restartFinalizationProcess
> 2064884912 [] in BlockContext>newProcess
> 
> 
> Process
> 2085972252 Semaphore>critical:
> 2085972068 Delay>scheduleEvent
> 2085971932 Delay>schedule
> 2085971840 Delay>wait
> 2085971748 WorldState>interCyclePause:
> 2085971656 WorldState>doOneCycleFor:
> 2085971564 PasteUpMorph>doOneCycle
> 2054607980 [] in >spawnNewProcess
> 2054608164 [] in BlockContext>newProcess
> Process
> 2085972988 Semaphore>critical:
> 2085972804 Delay>scheduleEvent
> 2085972712 Delay>schedule
> 2085972620 Delay>wait
> 2085972436 [] in EventSensor>eventTickler
> 2085972344 BlockContext>on:do:
> 2064857692 EventSensor>eventTickler
> 2064857416 [] in EventSensor>installEventTickler
> 2064857600 [] in BlockContext>newProcess
> Process
> 2085973768 Semaphore>critical:
> 2085973584 Delay>scheduleEvent
> 2085973448 Delay>schedule
> 2085973356 Delay>wait
> 2085973264 [] in ApplicationService>sleepFor:
> 2085973172 >terminationOkDuring:
> 2085973080 ApplicationService>sleepFor:
> 2065158156 TdTimer>runWhile:
> 2065157788 [] in ApplicationService>start
> 2065157972 BlockContext>ensure:
> 2064894444 [] in ApplicationService>start
> 2065157696 BlockContext>on:do:
> 2065157512 BlockContext>valueWithBindingsContext:
> 2065157420 BlockContext>valueWithBindings:
> 2064894536 [] in BlockContext>newProcessWithBindings:
> 2064894628 [] in BlockContext>newProcess
> Process
> 2086064536 Semaphore>critical:
> 2086064308 Delay>scheduleEvent
> 2086064184 Delay>schedule
> 2086064092 Delay>wait
> 2086063816 [] in Semaphore>waitTimeoutMSecs:
> 2086064000 [] in BlockContext>newProcess
> Process
> 2086089116 Semaphore>critical:
> 2086088932 Delay>scheduleEvent
> 2086088796 Delay>schedule
> 2086088612 Delay>wait
> 2086088704 [] in ApplicationService>sleepFor:
> 2086088520 >terminationOkDuring:
> 2086088428 ApplicationService>sleepFor:
> 2064888880 TdTimer>runWhile:
> 2064888512 [] in ApplicationService>start
> 2064888696 BlockContext>ensure:
> 2064886188 [] in ApplicationService>start
> 2064888420 BlockContext>on:do:
> 2064888236 BlockContext>valueWithBindingsContext:
> 2064888144 BlockContext>valueWithBindings:
> 2064886280 [] in BlockContext>newProcessWithBindings:
> 2064886372 [] in BlockContext>newProcess
> Process
> 2092063728 Semaphore>critical:
> 2092063544 Delay>scheduleEvent
> 2092063408 Delay>schedule
> 2092063200 Delay>wait
> 2092063316 [] in ApplicationService>sleepFor:
> 2092063092 >terminationOkDuring:
> 2092063000 ApplicationService>sleepFor:
> 2065160244 TdTimer>runWhile:
> 2065157144 [] in ApplicationService>start
> 2065157328 BlockContext>ensure:
> 2064893660 [] in ApplicationService>start
> 2065157052 BlockContext>on:do:
> 2065156868 BlockContext>valueWithBindingsContext:
> 2065156776 BlockContext>valueWithBindings:
> 2064893752 [] in BlockContext>newProcessWithBindings:
> 2064893844 [] in BlockContext>newProcess
> Process
> 2099204904 Semaphore>critical:
> 2099204676 Delay>scheduleEvent
> 2099204552 Delay>schedule
> 2099204460 Delay>wait
> 2099187636 [] in Semaphore>waitTimeoutMSecs:
> 2099187820 [] in BlockContext>newProcess
> 
> Process
> 2099550248 >handleTimerEvent
> 2059283788 [] in >runTimerEventLoop
> 2059283368 BlockContext>on:do:
> 2059283140 >runTimerEventLoop
> 2059283572 [] in >startTimerEventLoop
> 2059283664 [] in BlockContext>newProcess
> Process
> 2064857200 InputSensor>userInterruptWatcher
> 2064857016 [] in InputSensor>installInterruptWatcher
> 2064857108 [] in BlockContext>newProcess
> 
> 
> Process
> 2064858136 SystemDictionary>lowSpaceWatcher
> 2064858228 [] in SystemDictionary>installLowSpaceWatcher
> 2064858320 [] in BlockContext>newProcess
> 
> Process
> 2086063724 Semaphore>waitTimeoutMSecs:
> 2086063632 Socket>waitForConnectionFor:ifTimedOut:
> 2086063448 Socket>waitForConnectionFor:
> 2086063172 [] in Socket>waitForAcceptFor:
> 2086063356 BlockContext>on:do:
> 2086063080 Socket>waitForAcceptFor:
> 2086062896 [] in RFBServer>runLoop
> 2086062804 BlockContext>on:do:
> 2064890492 RFBServer>runLoop
> 2064890612 [] in RFB
> 
> 
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SemaphoreCritical-ar.1.cs
Type: text/x-csharp
Size: 4110 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070727/3f1035cb/SemaphoreCritical-ar.1.bin


More information about the Squeak-dev mailing list