Some problems with Shout Parser

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Some problems with Shout Parser

Igor Stasenko
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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project