On Wed, Dec 8, 2010 at 1:27 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:

On Wed, Dec 8, 2010 at 1:00 AM, Andreas Raab <andreas.raab@gmx.de> wrote:

The error means that the heap is corrupted. It has nothing to do with number of objects. Basically, what happens is that the garbage collector found that the last object it compacted in memory did not end exactly at the current allocation pointer. This cannot happen under any circumstances and means that the heap is in a corrupted state.

Thanks Andreas. And what does it mean that the "heap is corrupted"? can you give me details?

An example would be a stray write into the size field of an object which would cause it to have the wrong size and hence break the parse.

Thanks again in advance,


Why it happens is your guess but I can tell you that it must've happened since the last (incr/full) GC since this test is extremely cheap and therefore done on every GC cycle.

 - Andreas

On 12/7/2010 3:34 PM, Mariano Martinez Peck wrote:

Hi, I am having this error quite frequently while working with the
proxies for CompiledMethods. I don't understand....I am reaching a
maximum in the memory? I checked both, the amount of Objects I create
and the amount of memory and doesn't look that large.  I am in mac and I
am even doing -memory 1500m and also setting HeapSize in plist.info

Any hints?  I serached in Google and I found a bug with signed and
unsiged stuff...but i didn't understand and I am not sure which is the
status today (the threads were quite old).

Here is an example:

sweep failed to find exact end of memory

594035904 Object>myDependents:
594035812 Object>breakDependents
594035720 Object>actAsExecutor
594035628 StandardFileStream>actAsExecutor
594035496 Object>executor
594035332 WeakRegistry>add:
594035240 >register:
594035148 StandardFileStream>register
594034104 StandardFileStream>open:forWrite:
594032588 >fileNamed:
594032496 FuelMareaSerializer>mareaUnserializeMethodFrom:
594032216 >mareaLoadCompiledMethodFor:
594032124 >mareaUninstallForProxy:ifNotInstalled:
594032032 >mareaUninstallForProxy:
594027820 >mareaHandleRun:with:in:forProxy:
594027640 AbstractCompiledMethodProxy>run:with:in:
593741548 OMenuMorph>drawOn:
593741456 CompiledMethod>valueWithReceiver:arguments:
593740508 >mareaHandleRun:with:in:forProxy:
593740416 AbstractCompiledMethodProxy>run:with:in:
593740324 Canvas>draw:
593740232 Canvas>drawMorph:
593740140 Morph>fullDrawOn:
593740028 FormCanvas>roundCornersOf:in:during:
593739936 Canvas>roundCornersOf:during:
593739808 Morph>fullDrawOn:
593739628 Canvas>fullDraw:
593739536 Canvas>fullDrawMorph:
593739004 WorldState>drawWorld:submorphs:invalidAreasOn:
593738104 Rectangle>allAreasOutsideList:startingAt:do:
593738012 Rectangle>allAreasOutsideList:do:
593738708 WorldState>drawWorld:submorphs:invalidAreasOn:
593737920 SequenceableCollection>do:
593737652 WorldState>drawWorld:submorphs:invalidAreasOn:
593737532 WorldState>displayWorld:submorphs:
593737440 FormCanvas>roundCornersOf:in:during:
593737348 Canvas>roundCornersOf:during:
593737244 WorldState>displayWorld:submorphs:
593737152 PasteUpMorph>privateOuterDisplayWorld
593737004 PasteUpMorph>displayWorld
593736912 WorldState>displayWorldSafely:
593736820 BlockClosure>on:do:
593736728 BlockClosure>ifError:
593736636 WorldState>displayWorldSafely:
593731064 WorldState>doOneCycleNowFor:
593730972 WorldState>doOneCycleFor:
593730880 PasteUpMorph>doOneCycle
564294164 >spawnNewProcess
564294036 BlockClosure>newProcess

But this is just one example.

Thanks in advance for any help