sweep failed to find exact end of memory

Jimmie Houchin j.squeak at cyberhaus.us
Thu Feb 22 17:24:43 UTC 2007


Andreas Raab wrote:
> Avi Bryant wrote:
>> Do you have an estimate, hopefully under 1 million euros, of what it
>> would take to fix this?
> 
> What it takes is a reliable setup to trigger the problem, preferably
> directly in the simulator. This is not a big deal if you can make it
> happen reliably, just having enough flight hours will eventually sort it
> out because you learn what patterns to look for.

I've been reading this thread with interest as I can hit this wall
anytime I want.

I am writing my app and was wanting to know how many objects I could
store inside an image. So I created an ordered collection and attempted
to populate it with millions of objects.

In a workspace I did

| oc |
oc := OrderedCollection new.
1 to: 20000000 do: [:i | oc add: i].

It never completes. It always crashes with

sweep failed to find exact end of memory


This is on my laptop with 1.25gb of RAM 2gb of swap i386 Ubuntu Linux.

I ran similar tests with Lua, Python and Ruby.
First time attempting 100m objects.

Lua was beautiful. It allocated 89m objects and stopped when memory was
no longer available. It was still usable and had access to all that it
allocated. I could t=nil to nil the table and then run garbagecollect,
and all the memory was freed.

Python didn't crash but I stopped it because it went into swap hell.

Ruby crashed.

Squeak never made it past I think 15m on my computer. :(

I don't know if this helps or not. But I would dearly love Squeak to be
able to compete better being more stable and faster. But in this simple
allocation of objects it didn't. :(

With hope.

Jimmie



More information about the Squeak-dev mailing list