SharedQueue issues
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Jun 15 18:59:28 UTC 2005
I managed to trip over a problem with SharedQueues this morning. My
test VM locked up but
I managed to dump the procedure stacks via GNU Debug and found, every
process was idle
What I saw was everything was waiting on the event queue
accessProtect (Semaphore forMutualExclusion)
and they were:
nextOrNilSuchThat:
next
nextPut:
Except for this process which had the accessProtect semaphore and was
waiting on readSynch wait.
{110688608 [] in SharedQueue>flushAllSuchThat:
110791160 [] in Semaphore>critical:
110791344 BlockContext>ensure:
110688700 Semaphore>critical:
110688424 SharedQueue>flushAllSuchThat:}
I believe the problem here is that flushAllSuchThat: is now waiting
on readSynch, but the signal it needs
is waiting on accessProtect (pending nextPut:) before doing the
readSynch signal.
Classic deadlock situation.
I'm wondering if the folks who poked at readSynch last might have
some thoughts how they wanted to fix things?
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|