Hi
I'm using Squeak 3.2.1Beta6MT under mac Os 9.2 with the module image. And Squeak crashes every 10 minutes in average.
Am I the only one?
Stef
Hi, Stephane,
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.
The difficulty does not appear to be easily repeatable -- the same step (e.g. a simple tile-scripting gesture) will sometimes be uneventful and sometimes lock up the system.
I even, last night, had Squeak freeze while it was not the active app, and was not doing anything except idling -- I was at the time busily using a different app -- indeed, was in mid-sentence of constructing an email message -- and my system just spontaneously froze solid except for cursor tracking; a little investigation revealed that it was Squeak that had control and was hung, so badly hung that it was not ever yielding to the os.
So you're *not* the only one.
-- Scott
At 12:47 PM +0100 1/31/02, Stephane Ducasse wrote:
Hi
I'm using Squeak 3.2.1Beta6MT under mac Os 9.2 with the module image. And Squeak crashes every 10 minutes in average.
Am I the only one?
Stef
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
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.
Mmm if I read right you typically get no crashes.
I'm assuming of course people are willing to whine at me if the macintosh VM crashes. If of course you are getting crashes then I've a wonderful debuggable VM to give you with some MacsBugs instructions. OS-X users should check the release notes for howto turn on the crash reporter and send me OS-X crash logs (never gotten any yet). Somehow I miss the days of reading IBM MVS core dumps.
Well not quite, now NCP dumps that was more thrilling.
However I will point out that if you run low on memory the Mac VM becomes shall we say very unresponsive, something about recursive full GC events makes the world go *very* slow.
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 --
Scott Wallace wrote:
Hi, Stephane,
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.
This has never happened to me, which probably just means that you do something I never do. If you can give me urls where I can get the vm & changes you are experiencing this with, I'll take a look.
Although as you say it doesn't have to be the modules, it does seem like the obvious candidate.
The difficulty does not appear to be easily repeatable -- the same step (e.g. a simple tile-scripting gesture) will sometimes be uneventful and sometimes lock up the system.
Most likely some parts of eToy don't work as expected. In particular I recall some class actively modifying its own pool variables when compiling things. You might check all uses of References. Although I suspect Stephane is not using eToy?
Henrik
squeak-dev@lists.squeakfoundation.org