<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi,</div><div class=""><br class=""></div><div class="">I discovered a similar issue described in this issue&nbsp;<a href="https://pharo.fogbugz.com/f/cases/14165/ObsoleteTest-testFixObsoleteSharedPools" class="">https://pharo.fogbugz.com/f/cases/14165/ObsoleteTest-testFixObsoleteSharedPools</a>. Might be related.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Max</div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On 24 Nov 2015, at 19:34, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" class="">eliot.miranda@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><br class="Apple-interchange-newline"><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Mon, Nov 23, 2015 at 4:57 PM, Andrei Chis<span class="Apple-converted-space">&nbsp;</span><span dir="ltr" class="">&lt;<a href="mailto:chisvasileandrei@gmail.com" target="_blank" class="">chisvasileandrei@gmail.com</a>&gt;</span><span class="Apple-converted-space">&nbsp;</span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><p dir="ltr" class="">Hi Eliot,</p><p dir="ltr" class="">Is an assert vm the same as a vm compiled with debugging support?<br class=""></p></blockquote><div class=""><br class=""></div><div class="">VMMaker.oscog generates VM sources designed to be compiled in three different ways, Debug, Assert and Production.&nbsp; Debug is designed to enable asserts to check invariants and be compiled with no optimization for maximum debuggability.&nbsp; Assert is designed to enable asserts to check invariants and be compiled with limited optimization for faster assert checking.&nbsp; Production has asserts disabled (actually compiled-out) and be compiled with aggressive optimization, so it has limited debuggability (it should still contain debugging symbols).</div><div class=""><br class=""></div><div class="">So Assert and Debug are not quite the same and certainly if you're hunting for storage leaks an Assert VM will run much faster than a Debug VM.&nbsp; If you have a look at the Cog svn sources you'll find that the build scripts build all three kinds of VMs for all platforms.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><p dir="ltr" class="">Also can you point me to any documentation about the leak checker.</p></blockquote><div class=""><br class=""></div><div class="">It's not well documented because it may change over time, but the -help flag on the VM should include this:</div><div class=""><br class=""></div><div class=""><div class="">&nbsp; -leakcheck num &nbsp; &nbsp; &nbsp; &nbsp;check for leaks in the heap</div></div><div class=""><br class=""></div><div class="">and the meaning of num is a set of flags:</div><div class=""><br class=""></div><div class="">setCheckForLeaks: integerFlags</div><div class=""><span class="" style="white-space: pre;">        </span>" 0 = do nothing.</div><div class=""><span class="" style="white-space: pre;">        </span><span class="Apple-converted-space">&nbsp;</span>&nbsp;1 = check for leaks on fullGC (GCModeFull).</div><div class=""><span class="" style="white-space: pre;">        </span><span class="Apple-converted-space">&nbsp;</span>&nbsp;2 = check for leaks on scavenger (GCModeNewSpace).</div><div class=""><span class="" style="white-space: pre;">        </span><span class="Apple-converted-space">&nbsp;</span>&nbsp;4 = check for leaks on incremental (GCModeIncremental)</div><div class=""><span class="" style="white-space: pre;">        </span><span class="Apple-converted-space">&nbsp;</span>&nbsp;8 = check for leaks on become</div><div class=""><span class="" style="white-space: pre;">        </span><span class="Apple-converted-space">&nbsp;</span>16 = check for leaks on image segments"</div><div class=""><span class="" style="white-space: pre;">        </span>checkForLeaks := integerFlags&nbsp;</div><div class=""><br class=""></div><div class="">So once you have your assert VM try running your test case using</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp; myvm -leakcheck 5 myimage.image</div><div class=""><br class=""></div><div class="">on the command line.&nbsp; You'll want to use a debugger to put breakpoints in the leak checker and you may need to learn about the VM's debug routines to try and figure out the cause of the leak once the leak checker finds it.</div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><p dir="ltr" class="">Cheers,<br class="">Andrei</p><div class=""><div class="h5"><p dir="ltr" class="">On Nov 24, 2015 1:45 AM, "Eliot Miranda" &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank" class="">eliot.miranda@gmail.com</a>&gt; wrote:<br class="">&gt;<br class="">&gt; Hi Andrei,<br class="">&gt;<br class="">&gt; On Mon, Nov 23, 2015 at 7:59 AM, Andrei Chis &lt;<a href="mailto:chisvasileandrei@gmail.com" target="_blank" class="">chisvasileandrei@gmail.com</a>&gt; wrote:<br class="">&gt;&gt;<br class="">&gt;&gt; Hi,<br class="">&gt;&gt;<br class="">&gt;&gt; With both the latest and stable vm I have an use case in which the vm crashed in&nbsp;SmalltalkImage&gt;&gt;garbageCollect.<br class="">&gt;&gt;<br class="">&gt;&gt; To set up an image that exhibits the failure , execute this with the latest pharo version:<br class="">&gt;&gt;<br class="">&gt;&gt; /pharo Pharo.image eval --save "{ { 'ConfigurationOfRubric'. 'Pharo'. 'Rubric' }. { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }. { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer new smalltalkhubUser: spec second project: spec third; package: spec first; load ]."<br class="">&gt;&gt;<br class="">&gt;&gt; ./pharo Pharo.image config<span class="Apple-converted-space">&nbsp;</span><a href="http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main" target="_blank" class="">http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main</a><span class="Apple-converted-space">&nbsp;</span>ConfigurationOfGToolkitCore --install=3.2<br class="">&gt;&gt;<br class="">&gt;&gt; Then &nbsp;attempting to run the following code triggers the failure:<br class="">&gt;&gt;<br class="">&gt;&gt; ./pharo Pharo.image eval --save "TestRunner open model packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate: 'GTInspectorExamplesTest'; runAll"<br class="">&gt;&gt;<br class="">&gt;&gt; Based on the trace below the failure happens when the test&nbsp;GTInspectorExamplesTest calls 'Smalltalk&gt;&gt;garbageCollect' in the setUp method.<br class="">&gt;&gt;<br class="">&gt;&gt; That call can be removed, however, in other runs the failure happens &nbsp;in other methods calling Smalltalk&gt;&gt;garbageCollect.<br class="">&gt;&gt;<br class="">&gt;&gt; Is it possible that this is a bug with the image (some broken object) or is it a vm bug?<br class="">&gt;<br class="">&gt;<br class="">&gt; The way to test this is to build an assert VM and then use the leak checker.&nbsp; The leak checker will allow you to narrow down the cause.&nbsp; If the leak checker shows no corruption then its definitely a GC bug.&nbsp; If there leak checker does show corruption before GC then one still has to find out what caused the heap corruption, but you can use the leak checker to narrow the search.<br class="">&gt;<br class="">&gt; HTH<br class="">&gt; Eliot<br class="">&gt;<br class="">&gt;&gt; Cheers,<br class="">&gt;&gt;<br class="">&gt;&gt; Andrei<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; andrei$ ./pharo Pharo.image eval --save "{ { 'ConfigurationOfRubric'. 'Pharo'. 'Rubric' }. { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }. { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer new smalltalkhubUser: spec second project: spec third; package: spec first; load ]."<br class="">&gt;&gt;<br class="">&gt;&gt; andrei$ ./pharo Pharo.image config<span class="Apple-converted-space">&nbsp;</span><a href="http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main" target="_blank" class="">http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main</a><span class="Apple-converted-space">&nbsp;</span>ConfigurationOfGToolkitCore --install=3.2<br class="">&gt;&gt;<br class="">&gt;&gt; andrei$ ./pharo Pharo.image eval --save "TestRunner open model packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate: 'GTInspectorExamplesTest'; runAll"<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; Segmentation fault Mon Nov 23 16:48:36 2015<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt;<span class="Apple-converted-space">&nbsp;</span><a href="https://github.com/pharo-project/pharo-vm.git" target="_blank" class="">https://github.com/pharo-project/pharo-vm.git</a><span class="Apple-converted-space">&nbsp;</span>Commit: 28d077d8df494ce050ca42c97c892471e8b8740c Date: 2015-10-16 12:02:43 +0200 By: Esteban Lorenzano &lt;<a href="mailto:estebanlm@gmail.com" target="_blank" class="">estebanlm@gmail.com</a>&gt; Jenkins build #15016<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; C stack backtrace:<br class="">&gt;&gt;<br class="">&gt;&gt; 0 &nbsp; Pharo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x0004cacf reportStackState + 159<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; Smalltalk stack dump:<br class="">&gt;&gt;<br class="">&gt;&gt; 0xbffbf1a0 M SmalltalkImage&gt;garbageCollect 0x1fd49e30: a(n) SmalltalkImage<br class="">&gt;&gt;<br class="">&gt;&gt; 0xbffbf1c0 I GTInspectorExamplesTest&gt;setUp 0x2126bc80: a(n) GTInspectorExamplesTest<br class="">&gt;&gt;<br class="">&gt;&gt; 0x2126cb90 is not a context<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; Most recent primitives<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; new<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; replaceFrom:to:with:startingAt:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; replaceFrom:to:with:startingAt:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:with:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:with:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:with:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:with:<br class="">&gt;&gt;<br class="">&gt;&gt; perform:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; @<br class="">&gt;&gt;<br class="">&gt;&gt; perform:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; primUTCMicrosecondsClock<br class="">&gt;&gt;<br class="">&gt;&gt; //<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; value<br class="">&gt;&gt;<br class="">&gt;&gt; valueNoContextSwitch<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; replaceFrom:to:with:startingAt:<br class="">&gt;&gt;<br class="">&gt;&gt; primitiveGarbageCollect<br class="">&gt;&gt;<br class="">&gt;&gt; **IncrementalGC**<br class="">&gt;&gt;<br class="">&gt;&gt; **FullGC**<br class="">&gt;&gt;<br class="">&gt;&gt; garbageCollectMost<br class="">&gt;&gt;<br class="">&gt;&gt; **IncrementalGC**<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; someInstance<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; someInstance<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; someInstance<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; replaceFrom:to:with:startingAt:<br class="">&gt;&gt;<br class="">&gt;&gt; primitiveGarbageCollect<br class="">&gt;&gt;<br class="">&gt;&gt; **IncrementalGC**<br class="">&gt;&gt;<br class="">&gt;&gt; **FullGC**<br class="">&gt;&gt;<br class="">&gt;&gt; garbageCollectMost<br class="">&gt;&gt;<br class="">&gt;&gt; **IncrementalGC**<br class="">&gt;&gt;<br class="">&gt;&gt; wait<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; signal<br class="">&gt;&gt;<br class="">&gt;&gt; wait<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; signal<br class="">&gt;&gt;<br class="">&gt;&gt; wait<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; shallowCopy<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; at:put:<br class="">&gt;&gt;<br class="">&gt;&gt; signal<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; basicNew<br class="">&gt;&gt;<br class="">&gt;&gt; new:<br class="">&gt;&gt;<br class="">&gt;&gt; replaceFrom:to:with:startingAt:<br class="">&gt;&gt;<br class="">&gt;&gt; primitiveGarbageCollect<br class="">&gt;&gt;<br class="">&gt;&gt; **IncrementalGC**<br class="">&gt;&gt;<br class="">&gt;&gt; **FullGC**<br class="">&gt;&gt;<br class="">&gt;&gt;<br class="">&gt;&gt; (Segmentation fault)<br class="">&gt;&gt;<br class="">&gt;&gt; ./pharo: line 11: &nbsp;5224 Abort trap: 6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "$DIR"/"pharo-vm/Pharo.app/Contents/MacOS/Pharo" --headless "$@"<br class="">&gt;<br class="">&gt;<br class="">&gt;<br class="">&gt;<br class="">&gt; --<span class="Apple-converted-space">&nbsp;</span><br class="">&gt; _,,,^..^,,,_<br class="">&gt; best,&nbsp;Eliot</p></div></div></blockquote></div><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br clear="all" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">--<span class="Apple-converted-space">&nbsp;</span></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_signature" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr" class=""><div class=""><span style="font-size: small; border-collapse: separate;" class=""><div class="">_,,,^..^,,,_<br class=""></div><div class="">best,&nbsp;Eliot</div></span></div></div></div></div></blockquote></div><br class=""></body></html>