[Pharo-project] Delay error after system crash

Esteban Lorenzano estebanlm at gmail.com
Tue Feb 8 08:09:59 EST 2011


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



More information about the Pharo-dev mailing list