[FIX] Dictionary equality patch

smallsqueak.net smallsqueak at rogers.com
Tue Jul 13 20:22:42 UTC 2004


Andrew P. Black wrote:

> At 12:09 +0200 2004.7.13, goran.krampe at bluefish.se wrote:
> >SqueakMap? Could you elaborate? I get nervous when people say "SqueakMap
> >problem" :).
>
> I don't think that I can elaborate very much.  The debug log that
> "SmallSqueak" sent showed the problem as being
>
> SMPackageRelease(Object)>>doesNotUnderstand:
> #isCompatibleWithCurrentSystemVersion
>
<SNIP>

    I just extracted SqueakDebug.log.gz and appended the contents below
    (with apologies to low-bandwidth Squeakers) and couldn't find either
     'SMPackageRelease'  or 'isCompatibleWithCurrentSystemVersion'

    There is something mismatched here.

    Please double check the log file attached to the original report.

    Cheers,

    PhiHo.

Error: subscript is out of bounds: 0

12 July 2004 9:55:14 pm

VM: Win32 - a SmalltalkImage

Image: Squeak3.7beta [latest update: #5969]

SecurityManager state:

Restricted: false

FileAccess: true

SocketAccess: true

Working Dir C:\squeak\images

Trusted Dir C:\squeak\images\PhiHo Hoang

Untrusted Dir C:\My Squeak\PhiHo Hoang

Array(Object)>>error:

Receiver: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xBinary #xDelimiter #xDe...etc...

Arguments and temporary variables:

aString: 'subscript is out of bounds: 0'

Receiver's instance variables:

#(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xDelimiter #xDe...etc...

Array(Object)>>errorSubscriptBounds:

Receiver: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xBinary #xDelimiter #xDe...etc...

Arguments and temporary variables:

index: 0

Receiver's instance variables:

#(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xDelimiter #xDe...etc...

Array(Object)>>at:

Receiver: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xBinary #xDelimiter #xDe...etc...

Arguments and temporary variables:

index: 0

Receiver's instance variables:

#(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xDelimiter #xDe...etc...

Parser(Scanner)>>scanToken

Receiver: a Parser

Arguments and temporary variables:

Receiver's instance variables:

source: a ReadStream
'&#0;Dictionary-=.st&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0
;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0;&#0
;&#0;&#0;&#0;&#0;&#0;&#0;&#0;...etc...

mark: nil

hereChar: $&#0;

aheadChar: $

token: nil

tokenType: nil

currentComment: nil

buffer: a WriteStream ''

typeTable: #(#xBinary #xBinary #xBinary #xBinary #xBinary #xBinary #xBinary
#xB...etc...

here: nil

hereType: nil

hereMark: nil

hereEnd: nil

prevMark: nil

prevEnd: nil

encoder: nil

requestor: nil

parseNode: nil

failBlock: [] in Parser>>parse:class:noPattern:context:notifying:ifFail: {[^
aB...etc...

requestorOffset: nil

tempsMark: nil

doitFlag: nil



--- The full stack ---

Array(Object)>>error:

Array(Object)>>errorSubscriptBounds:

Array(Object)>>at:

Parser(Scanner)>>scanToken

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Parser(Scanner)>>scan:

Parser>>init:notifying:failBlock:

Parser>>parse:class:noPattern:context:notifying:ifFail:

Compiler>>translate:noPattern:ifFail:

Compiler>>evaluate:in:to:notifying:ifFail:logged:

Compiler class>>evaluate:for:notifying:logged:

Compiler class>>evaluate:for:logged:

Compiler class>>evaluate:logged:

[] in StandardFileStream(PositionableStream)>>fileInAnnouncing: {[val :=
(self peekFor: $!) ifTrue: [(Compiler evaluate: self nextChunk l...]}

BlockContext>>on:do:

[] in StandardFileStream(PositionableStream)>>fileInAnnouncing: {[:bar |
[self atEnd] whileFalse: [bar value: self position. self skipS...]}

ProgressInitiationException>>defaultAction

UndefinedObject>>handleSignal:

MethodContext(ContextPart)>>handleSignal:

ProgressInitiationException(Exception)>>signal

ProgressInitiationException>>display:at:from:to:during:

ProgressInitiationException class>>display:at:from:to:during:

String>>displayProgressAt:from:to:during:

StandardFileStream(PositionableStream)>>fileInAnnouncing:

[] in ChangeSorter class>>newChangesFromStream:named: {[newSet ifNotNil:
[ChangeSet newChanges: newSet. aStream fileInAnnounci...]}

BlockContext>>ensure:

ChangeSorter class>>newChangesFromStream:named:

ChangeSorter class>>fileIntoNewChangeSet:

SimpleServiceEntry>>performServiceFor:

PluggableButtonMorph>>performAction

[] in PluggableButtonMorph>>mouseUp: {[:m | (m containsPoint: evt
cursorPoint) ifTrue: [m performAction]]}

Array(SequenceableCollection)>>do:

PluggableButtonMorph>>mouseUp:

PluggableButtonMorph(Morph)>>handleMouseUp:

MouseButtonEvent>>sentTo:

PluggableButtonMorph(Morph)>>handleEvent:

PluggableButtonMorph(Morph)>>handleFocusEvent:

[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent
:= anEvent. result := focusHolder han...]}

[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}

BlockContext>>on:do:

PasteUpMorph>>becomeActiveDuring:

HandMorph>>sendFocusEvent:to:clear:

HandMorph>>sendEvent:focus:clear:

HandMorph>>sendMouseEvent:

HandMorph>>handleEvent:

HandMorph>>processEvents

[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents.
capturingGesture := capturingGest...]}

...etc...







More information about the Squeak-dev mailing list