Login  Register

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