UI hangups

Ned Konz ned at squeakland.org
Thu Mar 24 16:36:49 UTC 2005


On Wednesday 23 March 2005 11:33 pm, Cees de Groot wrote:
> On Thu, 24 Mar 2005 01:20:42 +0100, Cees de Groot <cg at cdegroot.com> wrote:
> > (I've rewritten the retranmission code to use a single process, let's
> > see whether that makes a difference)
>
> Nope. Hung again. Oh well, at least I got to use the Heap class :P
>
> The symptoms with the current image are the same - not 900 processes, but
> lots of processes in identical state:
>
> Semaphore>>critical:
> Delay>>schedule
> Delay>>wait
>
> Looking at the implementation of Semaphore>>critical:, this method
> shouldn't appear at the top of stack for a lot of processes - unless the
> call to #wait is somehow inlined. 

No; every process that is waiting on a semaphore should show critical: at the 
top of the stack. So with N processes running the same code, N-1 should be in 
critical: and 1 should be inside the critical: block.

> Assuming that, it just appears that a 
> lot of processes are for some reason waiting on Delay's AccessProtect
> semaphore. None of the processes is inside that critical section, however.
> And it wouldn't cause 100% CPU time, would it?

No, but I don't know what the contents of your critical section is.

-- 
Ned Konz
http://bike-nomad.com/squeak/



More information about the Squeak-dev mailing list