[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