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 Mariano |
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. 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>. > > 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 |
On Wed, Dec 8, 2010 at 1:00 AM, Andreas Raab <[hidden email]> wrote:
Thanks Andreas. And what does it mean that the "heap is corrupted"? can you give me details? Thanks again in advance, Mariano
|
On 12/8/2010 1:27 AM, Mariano Martinez Peck wrote: > On Wed, Dec 8, 2010 at 1:00 AM, Andreas Raab <[hidden email] > <mailto:[hidden email]>> 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 > > |
In reply to this post by Mariano Martinez Peck
On Wed, Dec 8, 2010 at 1:27 AM, Mariano Martinez Peck <[hidden email]> wrote:
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.
|
Free forum by Nabble | Edit this page |