Delay error after system crash
Posted by EstebanLM on Feb 08, 2011; 1:09pm
URL: https://forum.world.st/Delay-error-after-system-crash-tp3275913.html
Hi,
I'm having a problem with Delay after a system crash (yeah, the real problem is the system crash, but I'm also having this one after it happens)
I have several processes running who monitor some state, and synchronize some file outs (the sync is made using a mutex). The original crash seems to be happening somewhere there. After the crash, I restart the image tries to reconstruct the data (taking the files previously saved) and I'm getting this error:
THERE_BE_DRAGONS_HERE
Error: This Delay has already been scheduled.
8 February 2011 5:00:05 am
VM: unix - i686 - linux-gnu - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.35]
Image: Pharo-1.1.1-- [Latest update: #11414]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/administrator/emanual
Trusted Dir /home/administrator/emanual/secure
Untrusted Dir /home/administrator/emanual/My Squeak
Delay(Object)>>error:
Receiver: a Delay(10 msecs; 10 msecs remaining)
Arguments and temporary variables:
aString: 'This Delay has already been scheduled.'
Receiver's instance variables:
delayDuration: 10
resumptionTime: 18218709
delaySemaphore: a Semaphore(a Process in [] in Delay>>wait)
beingWaitedOn: true
Delay>>schedule
Receiver: a Delay(10 msecs; 10 msecs remaining)
Arguments and temporary variables:
Receiver's instance variables:
delayDuration: 10
resumptionTime: 18218709
delaySemaphore: a Semaphore(a Process in [] in Delay>>wait)
beingWaitedOn: true
Delay>>wait
Receiver: a Delay(10 msecs; 10 msecs remaining)
Arguments and temporary variables:
Receiver's instance variables:
delayDuration: 10
resumptionTime: 18218709
delaySemaphore: a Semaphore(a Process in [] in Delay>>wait)
beingWaitedOn: true
InputEventPollingFetcher>>waitForInput
Receiver: an InputEventPollingFetcher
Arguments and temporary variables:
Receiver's instance variables:
eventHandlers: an OrderedCollection(a RFBEventSensor an UserInterruptHandler)
fetcherProcess: a Process in Debugger class>>openOn:context:label:contents:full...etc...
inputSemaphore: a Semaphore()
InputEventPollingFetcher(InputEventFetcher)>>eventLoop
Receiver: an InputEventPollingFetcher
Arguments and temporary variables:
eventBuffer: #(0 0 0 0 0 0 0 0)
type: 0
window: nil
Receiver's instance variables:
eventHandlers: an OrderedCollection(a RFBEventSensor an UserInterruptHandler)
fetcherProcess: a Process in Debugger class>>openOn:context:label:contents:full...etc...
inputSemaphore: a Semaphore()
[] in InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
Receiver: an InputEventPollingFetcher
Arguments and temporary variables:
Receiver's instance variables:
eventHandlers: an OrderedCollection(a RFBEventSensor an UserInterruptHandler)
fetcherProcess: a Process in Debugger class>>openOn:context:label:contents:full...etc...
inputSemaphore: a Semaphore()
[] in BlockClosure>>newProcess
Receiver: [self eventLoop]
Arguments and temporary variables:
Receiver's instance variables:
outerContext: InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
startpc: 48
numArgs: 0
--- The full stack ---
Delay(Object)>>error:
Delay>>schedule
Delay>>wait
InputEventPollingFetcher>>waitForInput
InputEventPollingFetcher(InputEventFetcher)>>eventLoop
[] in InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
[] in BlockClosure>>newProcess
Any idea what can be causing this?
I also noticed that there is another error when the image restarts:
'Trying to activate Delay twice'
which is thrown on Delay class>>#startUp
Any idea what can be happening?
Cheers,
Esteban