<div dir="ltr"><div>On Thu, Jan 18, 2018 at 3:24 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi All,<div><br></div><div>    I've been experiencing image save slowdowns recently and finally my work image reached 1.%Gb and I thought I better take a look:</div><div><br></div><div><div>Sisyphus.Cog$ ls -lh SpurWork64.* save/SpurWork64-*</div><div>-rw-r--r--@ 1 eliot  staff    28M Jan 18 12:47 SpurWork64.changes</div><div>-rw-r--r--@ 1 eliot  staff   1.6G Jan 18 12:48 SpurWork64.image</div><div>-rw-r--r--@ 1 eliot  staff    28M Jan 18 12:03 save/SpurWork64-2018-01-18.<wbr>changes</div><div>-rw-r--r--@ 1 eliot  staff   1.5G Jan 18 12:03 save/SpurWork64-2018-01-18.<wbr>image</div><div><br></div><div>I ran a space analysis and found that Bitmap and ByteArray were the top two, so I looked for large Bitmaps.  I found three that fit this criterion:</div><div><br></div><div><div><br></div><div>    Bitmap allInstances select: [:bm| bm size >= 1000000 and: [bm ~~ Display bits]]</div></div><div><br></div><div>I inspected the three and did a chase pointers on one of them.  As I did that suddenly</div><div>a) the inspector on the Array became empty (still an array but zero elements)</div><div>b) the progress bar for Downloading FlexibleVocabularies-who.NN appeared</div><div><br></div><div>I interrupted this and did a very cursory stack examination. Some object had not understood isLiteral and from there what looked like an attempt to turn this stub into a real object caused FlexibleVocabularies-who.NN to start to download.</div><div><br></div><div>I threw away the debugger, ran the GC and suddenly all my free space was back.  So now on disc I have</div><div><br></div><div><div>Sisyphus.Cog$ ls -lh SpurWork64.* save/SpurWork64-*</div><div>-rw-r--r--@ 1 eliot  staff    28M Jan 18 15:17 SpurWork64.changes</div><div>-rw-r--r--@ 1 eliot  staff    57M Jan 18 15:17 SpurWork64.image</div><div>-rw-r--r--@ 1 eliot  staff    28M Jan 18 12:03 save/SpurWork64-2018-01-18.<wbr>changes</div><div>-rw-r--r--@ 1 eliot  staff   1.5G Jan 18 12:03 save/SpurWork64-2018-01-18.<wbr>image</div></div><div><br></div><div>What is going on here?  There seems to be a very bad storage leak.  Can we please discuss this?  This doesn't seem like healthy behaviour at all :-)</div><div><br></div><div class="m_-1350276959540323323gmail_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>

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">My behavior was different.  Also, my image is a bit smaller (300mb).</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">I ran you check for large Bitmaps, and found 3 (all length 1924440).</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">#chasePointers on each of them from the inspect chased them back to the inspecter.  So I ran:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><div>(Bitmap allInstances select: [:bm| bm size >= 1000000 and: [bm ~~ Display bits]]) anyOne chasePointers</div></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">This goes away for a long time - I got bored, interupted it, and inspected the large bitmaps again.  This time, I only found 1.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">After saving the image, the image size did not drop (still 326mb).</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">Image and VM is undoubttedly behind yours, but here it is:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><div>Image</div><div>-----</div><div>C:\Squeak\Viz Landscape 6.0 64\hmm-64bit.1.image</div><div>Squeak6.0alpha</div><div>latest update: #17647</div><div>Image format 68021 (64 bit)<br></div><div><br></div><div>Virtual Machine</div><div>---------------</div><div>C:\Squeak\Viz Landscape 6.0 64\Squeak.exe</div><div>Croquet Closure Stack VM [StackInterpreterPrimitives VMMaker.oscog-eem.2188]</div><div>Win32 built on Apr 12 2017 09:46:07 GMT Compiler: 4.2.1 Compatible Clang 3.9.1 (tags/RELEASE_391/final)</div><div>platform sources revision VM: 201704120850 <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm.git">https://github.com/OpenSmalltalk/opensmalltalk-vm.git</a> $ Date: Wed Apr 12 10:50:48 2017 +0200 $ Plugins: 201704120850 <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm.git">https://github.com/OpenSmalltalk/opensmalltalk-vm.git</a> $</div><div>StackInterpreter VMMaker.oscog-eem.2188 uuid: ff4ca601-cd05-4792-ab0d-dcdf19975239 Apr 12 2017</div></div>

<div><br></div><div><br></div>-cbc </div></div><br></div></div>