basicNew is looping... then out of memory

Ned Konz ned at bike-nomad.com
Wed Jun 18 14:38:08 UTC 2003


On Tuesday 17 June 2003 01:59 pm, Derek Brans wrote:
> Does anyone know what this stack dump means?  My image is running
> out of memory (I think it's when I try to save a snapshot using
> Smalltalk snapshot: true andQuit: false).
>
> Thank you!
>
> out of memory
> 185312508 Behavior>isVariable
> 185312416 Behavior>basicNew
[snip]
> 185310300 Behavior>basicNew
> 185310208 Behavior>new
> 185310116 LookupKey class>key:
> 185310024 Association class>key:value:
> 185309932 Dictionary>at:put:
> 185309840 Bag>add:withOccurrences:
> 185309748 Bag>add:
> 185308972 [] in ProcessorScheduler>tallyCPUUsageFor:every:
> 185309064 [] in BlockContext>newProcess

Well, you could turn off the CPU watcher first.

But the problem seems to be that  LookupKey class>>Key: is calling 
Behavior>>new, whose primitive is failing. Causing the fall-through 
behavior of calling basicNew, which is recursing badly.

Of course, basicNew calls the same prim as new, which then fails 
again. So it asks if the class isVariable. However, isVariable itself 
has to create a return value, so it fails too...

So the problem is that the basicNew primitive (prim 70) is failing.

Now in this case, it seems like we should turn off the CPU watcher on 
image shutdown.

Try the CS I just posted that adds shutdown behavior to the CPU 
watcher and ProcessBrowser.

-- 
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE



More information about the Squeak-dev mailing list