<div dir="ltr">Hi Damien,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 23, 2018 at 1:52 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Damien,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 23, 2018 at 12:38 PM, Damien Pollet <span dir="ltr"><<a href="mailto:damien.pollet@gmail.com" target="_blank">damien.pollet@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br><div dir="ltr">Here are the files (image and various outputs). Running with --leakcheck does mention a few object leaks (see output.txt);</div></blockquote><div><br></div><div>Indeed the image is corrupt at start-up.  See below.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"> I'm not sure where to get or how to build an assert VM.</div></blockquote><div><br></div><div>When you build a phar. VM under build.macos64x64/pharo.cog.<wbr>spur using the mvm script (mvm -A) you produce an assert VM in PharoAssert.app.</div></div></div></div></blockquote><div><br></div><div>Note that if you build an Assert VM you will be able to manually patch the image in lldb so that you can rescue it.  It looks like this:</div><div><br></div><div>$ <b>lldb PharoAssert.app/Contents/MacOS/Pharo</b></div><div><br></div><div>(lldb) target create "/Users/eliot/oscogvm/build.macos64x64/pharo.cog.spur/PharoAssert.app/Contents/MacOS/Pharo"</div><div>Current executable set to '/Users/eliot/oscogvm/build.macos64x64/pharo.cog.spur/PharoAssert.app/Contents/MacOS/Pharo' (x86_64).</div><div>(lldb) settings set -- target.run-args  "clap_broken.d9e5daa.image"</div><div>(lldb) <b>b warning</b></div><div>Breakpoint 1: 3 locations.</div><div>(lldb) <b>run --leakcheck 31 clap_broken.d9e5daa.image</b></div><div>Process 31569 launched: '/Users/eliot/oscogvm/build.macos64x64/pharo.cog.spur/PharoAssert.app/Contents/MacOS/Pharo' (x86_64)</div><div>object leak in        <b>0x10f919658</b> @ 0 =        0x122216538</div><div>object leak in        <b>0x10fbb3448</b> @ 0 =        0x122216760</div><div>object leak in        <b>0x10fbb3480</b> @ 0 =        0x1222166a8</div><div>object leak in        <b>0x10ff384f0</b> @ 0 =        0x122d480b0</div><div>object leak in        <b>0x10ff38518</b> @ 0 =        0x122d480b0</div><div>object leak in        <b>0x10ff385d0</b> @ 0 =        0x122d480b0</div><div>Process 31569 stopped</div><div>* thread #1: tid = 0x5b6d56, 0x0000000100001a83 Pharo`warning(s="checkHeapIntegrityclassIndicesShouldBeValid(0, 1) 57196") + 19 at gcc3x-cointerp.c:44, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</div><div>    frame #0: 0x0000000100001a83 Pharo`warning(s="checkHeapIntegrityclassIndicesShouldBeValid(0, 1) 57196") + 19 at gcc3x-cointerp.c:44</div><div>   41  <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>sqInt warnpid, erroronwarn;</div><div>   42  <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>void</div><div>   43  <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>warning(char *s) { /* Print an error message but don't necessarily exit. */</div><div>-> 44  <span class="gmail-Apple-tab-span" style="white-space:pre">             </span>if (erroronwarn) error(s);</div><div>   45  <span class="gmail-Apple-tab-span" style="white-space:pre">           </span>if (warnpid)</div><div>   46  <span class="gmail-Apple-tab-span" style="white-space:pre">                 </span>printf("\n%s pid %ld\n", s, (long)warnpid);</div><div>   47  <span class="gmail-Apple-tab-span" style="white-space:pre">                </span>else</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10f919658,nilObj)</b></div><div>(sqInt) $0 = 4478138592</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10fbb3448,nilObj)</b></div><div>(sqInt) $1 = 4478138592</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10fbb3480,nilObj)</b></div><div>(sqInt) $2 = 4478138592</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10ff384f0,nilObj)</b></div><div>(sqInt) $3 = 4478138592</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10ff38518,nilObj)</b></div><div>(sqInt) $4 = 4478138592</div><div>(lldb) <b>call storePointerUncheckedofObjectwithValue(0,0x10ff385d0,nilObj)</b></div><div>(sqInt) $5 = 4478138592</div><div>(lldb) <b>expr checkForLeaks = 0</b></div><div>(sqInt) $0 = 0</div><div>(lldb) <b>c</b></div><div> </div><div><br></div><div>and then save the image.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I also realized the VM I had was from this summer (the one that comes with a 70 image with zeroconf). The output files I include were produced by the VM at <a href="http://get.pharo.org/64/vmLatest70" target="_blank">get.pharo.org/64/vmLatest70</a><div><br></div></div><div><a href="https://www.dropbox.com/s/y8yqjuzd9nsvy1u/clap-broken.tar.gz?dl=0" target="_blank">https://www.dropbox.com/s/y8yq<wbr>juzd9nsvy1u/clap-broken.tar.<wbr>gz?dl=0</a><br></div></div><span class="gmail-"><div class="gmail_extra"><br><div class="gmail_quote">On 20 March 2018 at 18:17, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br><div dir="ltr">Hi Damien,<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 20, 2018 at 3:12 AM, Damien Pollet <span dir="ltr"><<a href="mailto:damien.pollet@gmail.com" target="_blank">damien.pollet@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br><div dir="ltr">Hi, I have a Pharo image that crashes the VM on startup. The crash report below seems to incriminate GC. Should I make it available somewhere online? What's most convenient?<br></div></blockquote><div><br></div><div>Don't care.  Anywhere it can be downloaded from.  Also, try running with -leakcheck 15, preferably in an assert VM and see if that gets you additional information.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br>Process:               Pharo [64892]<br>Path:                  /Users/USER/*/Pharo.app/Conte<wbr>nts/MacOS/Pharo<br>Identifier:            org.pharo.Pharo<br>Version:               5.0.201708271955 (5.0.201708271955)<br></div></blockquote></div></div></div></blockquote></div></div></span></blockquote><div><br></div><div>Right.  This VM is prior to the bug fixes in VMMaker.oscog-eem.2320:</div><div><br></div><div>Spur:</div><div>Fix a bad bug in SpurPlnningCompactor.  <wbr>unmarkObjectsFromFirstFreeObje<wbr>ct, used when the compactor requires more than one pass due to insufficient savedFirstFieldsSpace, expects the corpse of a moved object to be unmarked, but copyAndUnmarkObject:to:bytes:<wbr>firstField: only unmarked the target.  Unmarking the corpse before the copy unmarks both.  This fixes a crash with ReleaseBuilder class>>saveAsNewRelease when non-use of cacheDuring: creates lots of files, enough to push the system into the multi-pass regime.</div><div><br></div><div><br></div><div>Pharo urgently needs to upgrade the VM to one more up to date than 2017 08 27 (in fact more up-to-date than opensmalltalk/vm commit 0fe1e1ea108e53501a0e7287360480<wbr>62c83a66ce, Fri Jan 19 13:17:57 2018 -0800).  The bug that VMMaker.oscog-eem.2320 fixes can result in image corruption in large images, and can occur (as it has here) at start-up, causing one's work to be irretrievably lost.</div><div><div class="gmail-h5"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Code Type:             X86-64 (Native)<br>Parent Process:        ??? [64888]<br>Responsible:           Pharo [64892]<br>User ID:               501<br><br>Date/Time:             2018-03-19 20:27:03.906 +0100<br>OS Version:            Mac OS X 10.13.3 (17D102)<br>Report Version:        12<br>Anonymous UUID:        6D022236-78DD-6676-117F-EADA5<wbr>6D5D1BE<br><br>Sleep/Wake UUID:       AC9E4E55-3CDB-4B4F-A6B4-51ACB1<wbr>177154<br><br>Time Awake Since Boot: 28000 seconds<br>Time Since Wake:       6500 seconds<br><br>System Integrity Protection: enabled<br><br>Crashed Thread:        0  Dispatch queue: com.apple.main-thread<br><br>Exception Type:        EXC_BAD_ACCESS (SIGABRT)<br>Exception Codes:       KERN_INVALID_ADDRESS at 0x000000012b67c0b0<br>Exception Note:        EXC_CORPSE_NOTIFY<br><br>VM Regions Near 0x12b67c0b0:<br>   VM_ALLOCATE            000000011adfc000-00000001259f<wbr>c000 [172.0M] rw-/rwx SM=PRV  <br>--> <br>   STACK GUARD            0000700005613000-000070000561<wbr>4000 [    4K] ---/rwx SM=NUL  stack guard for thread 1<br><br>Application Specific Information:<br>abort() called<br><br>Thread 0 Crashed:: Dispatch queue: com.apple.main-thread<br>0   libsystem_kernel.dylib         0x00007fff53fbde3e __pthread_kill + 10<br>1   libsystem_pthread.dylib        0x00007fff540fc150 pthread_kill + 333<br>2   libsystem_c.dylib              0x00007fff53f1a312 abort + 127<br>3   org.pharo.Pharo                0x0000000104ed8997 sigsegv + 190<br>4   libsystem_platform.dylib       0x00007fff540eff5a _sigtramp + 26<br>5   ???                            000000000000000000 0 + 0<br>6   org.pharo.Pharo                0x0000000104e73558 markObjects + 464<br>7   org.pharo.Pharo                0x0000000104e72d40 fullGC + 72<br>8   org.pharo.Pharo                0x0000000104e92dea primitiveFullGC + 45<br>9   org.pharo.Pharo                0x0000000104e52425 interpret + 26715<br>10  org.pharo.Pharo                0x0000000104e5c7f6 enterSmalltalkExecutiveImpleme<wbr>ntation + 152<br>11  org.pharo.Pharo                0x0000000104e4be6c interpret + 674<br>12  org.pharo.Pharo                0x0000000104ed9cc1 -[sqSqueakMainApplication runSqueak] + 394<br>13  com.apple.Foundation           0x00007fff2e6d696c __NSFirePerformWithOrder + 360<br>14  com.apple.CoreFoundation       0x00007fff2c579127 __CFRUNLOOP_IS_CALLING_OUT_TO_<wbr>AN_OBSERVER_CALLBACK_FUNCTION_<wbr>_ + 23<br>15  com.apple.CoreFoundation       0x00007fff2c57904f __CFRunLoopDoObservers + 527<br>16  com.apple.CoreFoundation       0x00007fff2c55b6a8 __CFRunLoopRun + 1240<br>17  com.apple.CoreFoundation       0x00007fff2c55af43 CFRunLoopRunSpecific + 483<br>18  com.apple.HIToolbox            0x00007fff2b872e26 RunCurrentEventLoopInMode + 286<br>19  com.apple.HIToolbox            0x00007fff2b872a9f ReceiveNextEventCommon + 366<br>20  com.apple.HIToolbox            0x00007fff2b872914 _BlockUntilNextEventMatchingLi<wbr>stInModeWithFilter + 64<br>21  com.apple.AppKit               0x00007fff29b3df5f _DPSNextEvent + 2085<br>22  com.apple.AppKit               0x00007fff2a2d3b4c -[NSApplication(NSEvent) _nextEventMatchingEventMask:un<wbr>tilDate:inMode:dequeue:] + 3044<br>23  com.apple.AppKit               0x00007fff29b32d6d -[NSApplication run] + 764<br>24  com.apple.AppKit               0x00007fff29b01f1a NSApplicationMain + 804<br><br>--<br>Damien Pollet<br>type less, do more [ | ] <a href="http://people.untyped.org/damien.pollet" target="_blank">http://people.untyped.org/dami<wbr>en.pollet</a>
</div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail-m_-5094668450409949596gmail-m_5921313489701851496m_-4862574270965235082gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail-m_-5094668450409949596gmail-m_5921313489701851496gmail_signature">Damien Pollet<br>type less, do more [ | ] <a href="http://people.untyped.org/damien.pollet" target="_blank">http://people.untyped.org/dami<wbr>en.pollet</a><br></div>
</div>
<br></blockquote></div></div></div><span class="gmail-HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="gmail-m_-5094668450409949596gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>