bug in delay?

John M McIntosh johnmci at smalltalkconsulting.com
Mon Jan 5 16:04:04 UTC 2004


Mmm, I seem to recall Dan Ingalls, Bill Shauck, Samuel S. Shuster and I  
were in there a few years back to
prove that the clock roll over logic had a bug where it wouldn't reset  
the resumption time correctly in certain cases. Leaving
Dan's weather station software hung.

Assuming we are talking about SuspendedDelays which is created as:
	SuspendedDelays _
		SortedCollection sortBlock:
			[:d1 :d2 | d1 resumptionTime <= d2 resumptionTime].

I would suggest you look at all users of SuspendedDelays in your image  
and confirm that it's protected by
AccessProtect. In a quick look before adequate coffee I don't see why  
it's broken if I  assume something is altering
SuspendedDelays as the add: logic is running.  You might need to look  
at callers of certain methods to find the wrapping
critical: block.


On Jan 5, 2004, at 6:39 AM, marcelo Cortez wrote:

> hi guys
>  
> some body konw this bug ?
> the Delay schedule call to add:  to sortedCollection
> SortedCollection fire the error
> any ideas ?
> Tia
>  
> MDC
>  
>
> Error: subscript is out of bounds: 21
>
> 5 January 2004 9:01:05 am
>
> VM: Win32 - Squeak3.6 of '6 October 2003' [latest update: #5424]
>
> Image: Squeak3.6 [latest update: #5424]
>
> Array(Object)>>error:
>
> Receiver: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> nil nil nil a Delay nil nil)
>
> Arguments and temporary variables:
>
> aString: 'subscript is out of bounds: 21'
>
> Receiver's instance variables:
>
> #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> a Delay nil nil)
>
> Array(Object)>>errorSubscriptBounds:
>
> Receiver: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> nil nil nil a Delay nil nil)
>
> Arguments and temporary variables:
>
> index: 21
>
> Receiver's instance variables:
>
> #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> a Delay nil nil)
>
> Array(Object)>>at:
>
> Receiver: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> nil nil nil a Delay nil nil)
>
> Arguments and temporary variables:
>
> index: 21
>
> Receiver's instance variables:
>
> #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> a Delay nil nil)
>
> Array(SequenceableCollection)>>replaceFrom:to:with:startingAt:
>
> Receiver: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> nil nil nil a Delay nil nil)
>
> Arguments and temporary variables:
>
> start: 19
>
> stop: 22
>
> replacement: #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> nil nil ...etc...
>
> repStart: 20
>
> index: 20
>
> repOff: 1
>
> Receiver's instance variables:
>
> #(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil  
> a Delay nil nil)
>
> --- The full stack ---
>
> Array(Object)>>error:
>
> Array(Object)>>errorSubscriptBounds:
>
> Array(Object)>>at:
>
> Array(SequenceableCollection)>>replaceFrom:to:with:startingAt:
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> Array>>replaceFrom:to:with:startingAt:
>
> SortedCollection(OrderedCollection)>>insert:before:
>
> SortedCollection>>add:
>
> [] in Delay>>schedule
>
> [] in Semaphore>>critical:
>
> BlockContext>>ensure:
>
> Semaphore>>critical:
>
> Delay>>schedule
>
> Delay>>wait
>
> WorldState>>interCyclePause:
>
> WorldState>>doOneCycleFor:
>
> PasteUpMorph>>doOneCycle
>
> [] in Project class>>spawnNewProcess
>
> [] in BlockContext>>newProcess
>
>
> <image.tiff>¿Buscás un auto?
> Encontralo en Yahoo! Autos
> ¡Más de 4000 clasificados todos los días!
> Usados - 0 km -Vendé el tuyo
>
--
======================================================================== 
===
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