Delay and Server reliability

David Shaffer cdshaffer at acm.org
Sat Jul 28 01:09:58 UTC 2007


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





More information about the Squeak-dev mailing list