AW: [VM] unstability
Scott Wallace
scott.wallace at squeakland.org
Fri Feb 1 02:22:34 UTC 2002
Hi, Andreas,
There was never any error raised so there was no Squeak.debug log,
and no low-space condition was ever reached so there was never any
lowspace-debug log either. Instead, it appears that Squeak is
thrashing, via some sort of oscillation rather than via recursion.
I've now reproduced the condition, interrupted it, and obtained a
debug log by artifice, which I've pasted below below, beneath your
reply.
In interpreting the log, ignore the call at the top to #error: from
OrderedCollection addAllLast -- that was code I momentarily patched
in to induce the error that gave me this log.
As you'll see, you are correct that it relates to the referencing
mechanism in scripting. The point of departure -- the method from
which, once entered in these "hang" conditions, one never returns --
is Object.uniqueNameForReference.
Cheers,
-- Scott
At 1:27 AM +0100 2/1/02, Andreas Raab wrote:
>Scott,
>
>> I'm using the exact same vm as you, and an up-to-date 3.3a image,
>> under mac os8.6; since yesterday, after the module code came in
>> (though not necessarily *because* of the module code) my Squeak has
>> frozen up on me, unaccountably and unpredictably, perhaps half a
>> dozen times. Which is around six more than than my daily average.
>>
>> When, sometimes during such a freeze, I'm able to get cmd-dot to
>> interrupt, I find control lost in seemingly complex infinite
>> recursion in the modules code.
>
>But where? Can you send out the SqueakDebug.log so we can watch for
>what's happening? Also, I'm kinda thinking that _perhaps_ it's related
>to eToy scripting?! The creative use of pools in the global References
>might be a rather big problem here.
>
>Cheers,
> - Andreas
Error: error
31 January 2002 4:45:57 pm
VM: Mac OS - Squeak3.1alpha of 7 March 2001 [latest update: #4347]
Image: Squeak3.3alpha [latest update: #4731]
OrderedCollection(Object)>>error:
Receiver: an OrderedCollection((the Virtual Root Module)
#(Squeak) #(Squeak Language) #(Squeak Langu...etc...
Arguments and temporary variables:
aString: 'error'
Receiver's instance variables:
array: #((the Virtual Root Module) #(Squeak)
#(Squeak Language) #(Squeak Langua...etc...
firstIndex: 1
lastIndex: 58
OrderedCollection>>addAllLast:
Receiver: an OrderedCollection((the Virtual Root Module)
#(Squeak) #(Squeak Language) #(Squeak Langu...etc...
Arguments and temporary variables:
anOrderedCollection: #()
each: nil
Receiver's instance variables:
array: #((the Virtual Root Module) #(Squeak)
#(Squeak Language) #(Squeak Langua...etc...
firstIndex: 1
lastIndex: 58
OrderedCollection>>addAll:
Receiver: an OrderedCollection((the Virtual Root Module)
#(Squeak) #(Squeak Language) #(Squeak Langu...etc...
Arguments and temporary variables:
aCollection: #()
Receiver's instance variables:
array: #((the Virtual Root Module) #(Squeak)
#(Squeak Language) #(Squeak Langua...etc...
firstIndex: 1
lastIndex: 58
[] in VirtualRootModule(Module)>>deepSubAndDeltaModules
Arguments and temporary variables:
deepSubAndDeltaModules: an OrderedCollection((the
Virtual Root Module) #(Squeak...etc...
m: #(Squeak Media Graphics Transformations)
--- The rest of the stack ---
Module>>deepSubmodulesDo:
[] in Module>>deepSubmodulesDo:
[] in Module>>submodulesDo:
Array(SequenceableCollection)>>do:
Module>>submodulesDo:
Module>>deepSubmodulesDo:
[] in Module>>deepSubmodulesDo:
[] in Module>>submodulesDo:
Array(SequenceableCollection)>>do:
Module>>submodulesDo:
Module>>deepSubmodulesDo:
[] in Module>>deepSubmodulesDo:
[] in Module>>submodulesDo:
Array(SequenceableCollection)>>do:
Module>>submodulesDo:
Module>>deepSubmodulesDo:
[] in VirtualRootModule(Module)>>deepSubmodulesDo:
[] in VirtualRootModule(Module)>>submodulesDo:
Array(SequenceableCollection)>>do:
VirtualRootModule(Module)>>submodulesDo:
VirtualRootModule(Module)>>deepSubmodulesDo:
VirtualRootModule(Module)>>deepSubAndDeltaModules
VirtualRootModule>>allDefinitionsFor:onlyExported:detect:
VirtualRootModule>>moduleDefining:
[] in UnscriptedPlayer(Object)>>uniqueNameForReference
Utilities class>>keyLike:satisfying:
UnscriptedPlayer(Object)>>uniqueNameForReference
UnscriptedPlayer(Player)>>uniqueNameForReference
TileMorph>>storeCodeOn:indent:
[] in TilePadMorph>>storeCodeOn:indent:
Array(SequenceableCollection)>>do:
TilePadMorph>>storeCodeOn:indent:
PhraseTileMorph>>storeCodeOn:indent:
[] in ScriptEditorMorph>>storeCodeOn:indent:
Array(SequenceableCollection)>>do:
[] in ScriptEditorMorph>>storeCodeOn:indent:
OrderedCollection>>do:
ScriptEditorMorph>>storeCodeOn:indent:
[] in ScriptEditorMorph>>codeString
String class(SequenceableCollection class)>>streamContents:
ScriptEditorMorph>>codeString
[] in ScriptEditorMorph>>methodString
String class(SequenceableCollection class)>>streamContents:
ScriptEditorMorph>>methodString
Player50(Player)>>acceptScript:for:
ScriptEditorMorph>>install
ScriptEditorMorph>>acceptDroppingMorph:event:
ScriptEditorMorph(Morph)>>handleDropMorph:
DropEvent>>sentTo:
ScriptEditorMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDropEvent:with:
MorphicEventDispatcher>>dispatchEvent:with:
ScriptEditorMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDropEvent:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
PasteUpMorph>>processEvent:using:
-- and more not shown --
More information about the Squeak-dev
mailing list
|