[Vm-dev] Error: sweep failed to find exact end of memory

Andreas Raab andreas.raab at gmx.de
Wed Dec 8 17:11:55 UTC 2010


On 12/8/2010 1:27 AM, Mariano Martinez Peck wrote:
> On Wed, Dec 8, 2010 at 1:00 AM, Andreas Raab <andreas.raab at gmx.de
> <mailto:andreas.raab at 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?

"Corrupted" means "altered from the original or correct form or version" 
(http://www.merriam-webster.com/dictionary/corrupt). As for details, 
read the code. There are a bunch of sanity checks at the end of 
ObjectMemory>>sweepPhase.

Cheers,
   - Andreas

>
> Thanks again in advance,
>
> Mariano
>
>
>     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.
>
>     Cheers,
>       - 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 <http://plist.info>
>         <http://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
>
>         Mariano
>
>


More information about the Vm-dev mailing list