Process>>terminate woes
Lukas Renggli
renggli at gmail.com
Wed Dec 5 19:09:56 UTC 2007
Maybe this is related, maybe not.
www.squeaksource.com has been successfully running with the recently
published Semaphore patches for about a month. This morning we
received the attached stack-trace. Going to the image shows that there
are thousands of processes waiting at the Semaphore you see in the
stack-trace. Cleaning up the mess only helps for a couple of hours,
after a while it looks up again ...
Any ideas?
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
-------------- next part --------------
Error: subscript is out of bounds: -150708
Array(Object)>>error:
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
aString 'subscript is out of bounds: -150708'
--------
Array(Object)>>errorSubscriptBounds:
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
index -150708
--------
Array(Object)>>at:
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
index -150708
--------
Array(SequenceableCollection)>>atRandom:
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
aGenerator a Random
--------
[] in Array(Collection)>>atRandom {[self atRandom: self class randomForPicking]}
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
--------
[] in Semaphore>>critical: {[caught := true. self wait. blockValue := mutuallyExcludedBlock value]}
self a Semaphore(a Process in [] in Semaphore>>critical: {[caught := true. self wait. blockValue := mut...etc...
mutuallyExcludedBlock[] in Array(Collection)>>atRandom {[self atRandom: self class randomForPicking]}
blockValue nil
caught true
--------
BlockContext>>ensure:
self [] in Semaphore>>critical: {[caught := true. self wait. blockValue := mutuallyExcludedBlock value]...etc...
aBlock [] in Semaphore>>critical: '--source missing--'
returnValue nil
b nil
--------
Semaphore>>critical:
self a Semaphore(a Process in [] in Semaphore>>critical: {[caught := true. self wait. blockValue := mut...etc...
mutuallyExcludedBlock[] in Array(Collection)>>atRandom '--source missing--'
blockValue nil
caught true
--------
Array(Collection)>>atRandom
self #($a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $A $B $C $D $E $F $G...etc...
--------
WAExternalID>>initialize
self kEC
i 4
iLimiT 8
--------
WAExternalID class(Behavior)>>new:
self WAExternalID
sizeRequested 8
--------
WAExternalID class>>new:
self WAExternalID
aNumber 8
--------
WAExternalID class>>new
self WAExternalID
--------
WALRUCache>>nextKey
self a WALRUCache
key nil
--------
WALRUCache>>store:
self a WALRUCache
anObject [] in SSSession(WASession)>>wrapContinuation: {[:v | state restoreSnapshot: snap. aContinuation va...etc...
key nil
--------
SSSession(WASession)>>actionUrlForContinuation:
self a SSSession(/@ydmzeSWXEMfaFPRn)
aContinuation a Continuation
--------
[] in SSSession(WASession)>>respond: {[:cc | url := self actionUrlForContinuation: cc. self returnResponse: (r...]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
responseBlock [] in SSSession(WASession)>>redirect {[:url | WARedirectResponse location: url]}
request nil
cc a Continuation
url nil
ea nil
--------
Continuation class>>currentDo:
self Continuation
aBlock [] in SSSession(WASession)>>respond: {[:cc | url := self actionUrlForContinuation: cc. self retu...etc...
--------
SSSession(WASession)>>respond:
self a SSSession(/@ydmzeSWXEMfaFPRn)
responseBlock [] in SSSession(WASession)>>redirect {[:url | WARedirectResponse location: url]}
request nil
cc a Continuation
url nil
ea nil
--------
SSSession(WASession)>>redirect
self a SSSession(/@ydmzeSWXEMfaFPRn)
url nil
--------
[] in SSSession>>enterSession: {[self alwaysRedirect ifTrue: [self redirect]. aBlock value]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession(WASession)>>enterSessionWithRequest: {[self start: aRequest]}
--------
BlockContext>>on:do:
self [] in SSSession>>enterSession: {[self alwaysRedirect ifTrue: [self redirect]. aBlock value]}
exception Error
handlerAction MessageSend(#handleError: -> a SSSession(/@ydmzeSWXEMfaFPRn))
handlerActive true
--------
[] in SSSession(WASession)>>withErrorHandler: {[aBlock on: Error do: (MessageSend receiver: self selector: #handleError...]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession>>enterSession: {[self alwaysRedirect ifTrue: [self redirect]. aBlock value]}
--------
BlockContext>>on:do:
self [] in SSSession(WASession)>>withErrorHandler: {[aBlock on: Error do: (MessageSend receiver: self...etc...
exception Warning
handlerAction MessageSend(#handleWarning: -> a SSSession(/@ydmzeSWXEMfaFPRn))
handlerActive true
--------
SSSession(WASession)>>withErrorHandler:
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession>>enterSession: {[self alwaysRedirect ifTrue: [self redirect]. aBlock value]}
--------
[] in SSSession>>enterSession: {[self withErrorHandler: [self alwaysRedirect ifTrue: [self redirect]. ...]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession(WASession)>>enterSessionWithRequest: {[self start: aRequest]}
--------
[] in SSSession(WASession)>>withEscapeContinuation: {[:cc | escapeContinuation := cc. aBlock value. self defaultResponse]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession>>enterSession: {[self withErrorHandler: [self alwaysRedirect ifTrue: [self red...etc...
cc a Continuation
--------
Continuation class>>currentDo:
self Continuation
aBlock [] in SSSession(WASession)>>withEscapeContinuation: {[:cc | escapeContinuation := cc. aBlock value...etc...
--------
SSSession(WASession)>>withEscapeContinuation:
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession>>enterSession: {[self withErrorHandler: [self alwaysRedirect ifTrue: [self red...etc...
cc a Continuation
--------
[] in SSSession>>enterSession: {[self withEscapeContinuation: [self withErrorHandler: [self alwaysRedi...]}
self a SSSession(/@ydmzeSWXEMfaFPRn)
aBlock [] in SSSession(WASession)>>enterSessionWithRequest: {[self start: aRequest]}
--------
[] in WAProcessMonitor>>critical: {[value := aBlock value]}
self a WAProcessMonitor
aBlock [] in SSSession>>enterSession: {[self withEscapeContinuation: [self withErrorHandler: [self al...etc...
value nil
--------
BlockContext>>ensure:
self [] in WAProcessMonitor>>critical: {[value := aBlock value]}
aBlock [] in WAProcessMonitor>>critical: {[semaphore signal]}
returnValue nil
b nil
--------
[] in WAProcessMonitor>>critical: {[[value := aBlock value] ensure: [semaphore signal]]}
self a WAProcessMonitor
aBlock [] in SSSession>>enterSession: {[self withEscapeContinuation: [self withErrorHandler: [self al...etc...
value nil
--------
[] in BlockContext>>newProcess {[self value. Processor terminateActive]}
self [] in WAProcessMonitor>>critical: {[[value := aBlock value] ensure: [semaphore signal]]}
--------
More information about the Squeak-dev
mailing list
|