Something strange about array comparison

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

Something strange about array comparison

Artur Zaroda
Hello,

I don't like reporting things, I'm not able to reliably
reproduce, but since this one could be important, I'll make
an exception (no pun intended).

Sometimes, when I run this:

s:=Array allInstances select: [:a|a size=1].
s do: [:x|s do: [:y|x=y]]

I get that:

--------------
10:12:47 AM, Thursday, May 17, 2001: Unhandled exception -
a GPFault('Invalid access to memory location. Reading 0x11390578, IP 0x10011666 (C:\PROGRAM FILES\COMMON FILES\OBJECT ARTS\DOLPHIN SMALLTALK 4.0\DOLPHINVM004.DLL)')

ProcessorScheduler>>gpFault:
[] in ProcessorScheduler>>vmi:list:no:with:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>vmi:list:no:with:
Symbol(Object)>>errorAt:
Symbol(ArrayedCollection)>>at:
Array(SequenceableCollection)>>=
[] in UndefinedObject>>{unbound}doIt
Array(ArrayedCollection)>>do:
[] in UndefinedObject>>{unbound}doIt
Array(ArrayedCollection)>>do:
UndefinedObject>>{unbound}doIt
CompiledExpression>>value:
SmalltalkWorkspace>>evaluateRange:ifFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:
SmalltalkWorkspace>>evaluateIt
Symbol>>forwardTo:
[] in Command>>value
BlockClosure>>ifCurtailed:
--------------

or that:

--------------
9:16:37 AM, Thursday, May 17, 2001: Unhandled exception -
a GPFault('Invalid access to memory location. Reading 0x1139054C, IP 0x10011666 (C:\PROGRAM FILES\COMMON FILES\OBJECT ARTS\DOLPHIN SMALLTALK 4.0\DOLPHINVM004.DLL)')

ProcessorScheduler>>gpFault:
[] in ProcessorScheduler>>vmi:list:no:with:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>vmi:list:no:with:
Array(Object)>>primitiveFailed
Array(Object)>>=
[] in UndefinedObject>>{unbound}doIt
Array(ArrayedCollection)>>do:
[] in UndefinedObject>>{unbound}doIt
Array(ArrayedCollection)>>do:
UndefinedObject>>{unbound}doIt
CompiledExpression>>value:
SmalltalkWorkspace>>evaluateRange:ifFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:debug:
SmalltalkWorkspace>>evaluateItIfFail:
SmalltalkWorkspace>>evaluateIt
Symbol>>forwardTo:
[] in Command>>value
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
--------------

I have no idea, how it landed in Object>>=.

I apologize for not being able to narrow it any further, but
it seems to have more to do with the large number of memory
accesses than the contents of any particular array. That would
suggest, that it can have something to do with caching.

Once again, it can just be a problem with my setup,
an overheated processor or something like that.

Artur Zaroda
[hidden email]