sweep failed to find exact end of memory

Jimmie Houchin j.squeak at cyberhaus.us
Thu Feb 22 18:20:10 UTC 2007


Jon Hylands wrote:
> On Thu, 22 Feb 2007 11:24:43 -0600, Jimmie Houchin <j.squeak at cyberhaus.us>
> wrote:
> 
>> 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.
> 
> Must be a Linux thing. I can do that on my Windows laptop with no problems.
> 
> 2 GB of RAM, Win XP Pro.
> 
> Squeak jumps from 40 MB used up to around 155 MB used when I open an
> inspector on the oc. Takes about 7 seconds if I don't inspect, 17 if I do.
> 
> When I close the inspector, after it GC's it goes back down to 40 MB...

Yes, Linux does play a role. From earlier in the thread how Squeak does
is totally dependent on how the OS allocates memory to Squeak. In this
instance it appears that Linux exacerbates the problem in Squeak.

Tim says:
 "It's not so much the amount of memory as where it's allocated.
  A 10Mb allocation that involves >2Gb values will still go kaboom
  (There was supposed to be an earth-shattering Kaboom,
  where was the earth-shattering kaboom?)

  Some OSs allocate from low adresses; some from high.
  Some do weird things."

Avi replies:
  "Right -
   I see this a lot more under Linux than under OS X, for example."

I would love to be running on OS X servers. But at the moment the one I
have is Linux. So I have to deal with it.

So I guess if you are running an OS other than Linux, possibly put in a
higher value than the 20m in my example above. I started at 100m and
worked down to the 20m before I gave up and started working my way up
instead.

Jimmie



More information about the Squeak-dev mailing list