Note, this error is very hard to reproduce.
It happened only few times when i typing in an OB code pane and method
source is considerably big.

I suspect that this bug is triggered because i'm using a new
scheduler, and uncovers a concurrency issue in
SHParserST80>>styleInBackgroundProcess:.


----------------
Error: attempt to index non-existent element in an ordered collection
2 May 2009 1:39:33 pm

VM: Win32 - a SmalltalkImage
Image: Pharo0.1 [Latest update: #10292]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir F:\projects\pharo-freetype\Squeak-new-scheduling
Trusted Dir F:\projects\pharo-freetype\Squeak-new-scheduling\sig
Untrusted Dir G:\usr\sig\docs\My Squeak

OrderedCollection(Object)>>error:
        Receiver: an OrderedCollection(a SHRange a SHRange a SHRange a
SHRange a SHRange a SHRange a SHRange...etc...
        Arguments and temporary variables:
                aString:        'attempt to index non-existent element in an 
ordered collection'
        Receiver's instance variables:
                array:  an Array(a SHRange a SHRange a SHRange a SHRange a 
SHRange a
SHRange a S...etc...
                firstIndex:     66
                lastIndex:      77

OrderedCollection>>errorNoSuchElement
        Receiver: an OrderedCollection(a SHRange a SHRange a SHRange a
SHRange a SHRange a SHRange a SHRange...etc...
        Arguments and temporary variables:

        Receiver's instance variables:
                array:  an Array(a SHRange a SHRange a SHRange a SHRange a 
SHRange a
SHRange a S...etc...
                firstIndex:     66
                lastIndex:      77

OrderedCollection>>at:
        Receiver: an OrderedCollection(a SHRange a SHRange a SHRange a
SHRange a SHRange a SHRange a SHRange...etc...
        Arguments and temporary variables:
                anInteger:      130
        Receiver's instance variables:
                array:  an Array(a SHRange a SHRange a SHRange a SHRange a 
SHRange a
SHRange a S...etc...
                firstIndex:     66
                lastIndex:      77

[] in [] in SHParserST80>>parseKeyword
        Receiver: a SHParserST80
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                classOrMetaClass:       AdvancedDelay
                source:         'performCommonChecksAt: nowTick

        "Perform various checks, each time we...etc...
                workspace:      nil
                arguments:      a Dictionary(0->an OrderedCollection('nowTick') 
)
                sourcePosition:         452
                currentToken:   'ScheduledDelay'
                currentTokenFirst:      $S
                temporaries:    a Dictionary(0->an OrderedCollection('nowTick' 
'nextTick') )
                instanceVariables:      #('delayDuration' 'resumptionTime'
'waitingProcess' 'beingWa...etc...
                errorBlock:     [closure] in SHParserST80>>parse:
                currentTokenSourcePosition:     438
                blockDepth:     0
                bracketDepth:   0
                ranges:         an OrderedCollection(a SHRange a SHRange a 
SHRange a
SHRange a SHRange ...etc...
                environment:    Smalltalk


--- The full stack ---
OrderedCollection(Object)>>error:
OrderedCollection>>errorNoSuchElement
OrderedCollection>>at:
[] in [] in SHParserST80>>parseKeyword
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Array(SequenceableCollection)>>do:
[] in SHParserST80>>parseKeyword
MethodContext(ContextPart)>>unwindTo:
TerminateProcess>>signal
TerminateProcess class>>signalForProcess:abandonedSemaphore:
SystemDictionary(Set)>>do:
SystemDictionary(Dictionary)>>associationsDo:
SystemDictionary(Dictionary)>>keysDo:
SystemDictionary(Dictionary)>>hasBindingThatBeginsWith:
[] in SHParserST80>>resolvePartial:
OrderedCollection>>do:
SHParserST80>>resolvePartial:
SHParserST80>>resolve:
SHParserST80>>parseTerm
[] in SHParserST80>>parseKeyword
BlockClosure>>ensure:
SHParserST80>>parseKeyword
SHParserST80>>parseCascade
SHParserST80>>parseExpression
SHParserST80>>parseStatement
SHParserST80>>parseStatementList
[] in SHParserST80>>parse:
BlockClosure>>ensure:
SHParserST80>>parse:
SHParserST80>>parse
SHParserST80>>rangesIn:classOrMetaClass:workspace:environment:
SHTextStylerST80>>rangesIn:setWorkspace:
SHTextStylerST80>>privateStyle:
[] in [] in SHTextStylerST80(SHTextStyler)>>styleInBackgroundProcess:
[] in BlockClosure>>newProcess


-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to