<div dir="ltr">Hi Clément,<div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 6, 2018 at 2:07 AM, Clément Bera <span dir="ltr"><<a href="mailto:bera.clement@gmail.com" target="_blank">bera.clement@gmail.com</a>></span> wrote:<br><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 clear="all"><div>Since the recent changes in the BitBlt primitive I now have new warning failures.</div><div>I can't reproduce my use-case in the simulator AFAIK (I use non simulable code).</div><div>Here's the trace I get [1], looks like the code is accessing the <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">byteSizeOf an oop without checking for forwarders, in my case I have the warning because the object is a forwarder.</span></div></div></div></blockquote><div><br></div><div>Right.  It looks to be an old bug that the new primitiveDisplayString short-cut for zero-sided strings exposes.  I've fixed the VMMaker.oscog package.  Am just regenerating the plugin now.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><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"><br></span></div><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">Any idea what this is about? I guess I can provide an image to reproduce but it's a 150Mb wide 64 bits image...</span></div><div><br></div><div>[1]</div><div><div>* thread #1: tid = 0x44223d, 0x0000000100001783 Squeak`warning(s="(<wbr>classIndexOf(oop)) > (<wbr>isForwardedObjectClassIndexPun<wbr>()) 34576") + 19 at gcc3x-interp.c:40, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</div><div>    frame #0: 0x0000000100001783 Squeak`warning(s="(<wbr>classIndexOf(oop)) > (<wbr>isForwardedObjectClassIndexPun<wbr>()) 34576") + 19 at gcc3x-interp.c:40</div><div>[...]</div><div><br></div><div><b>(lldb)</b> bt</div><div>* thread #1: tid = 0x44223d, 0x0000000100001783 Squeak`warning(s="(<wbr>classIndexOf(oop)) > (<wbr>isForwardedObjectClassIndexPun<wbr>()) 34576") + 19 at gcc3x-interp.c:40, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</div><div>  * frame #0: 0x0000000100001783 Squeak`warning(s="(<wbr>classIndexOf(oop)) > (<wbr>isForwardedObjectClassIndexPun<wbr>()) 34576") + 19 at gcc3x-interp.c:40</div><div>    frame #1: 0x00000001000438f4 Squeak`byteSizeOf(oop=<wbr>4633303952) + 100 at gcc3x-interp.c:34576</div><div>    frame #2: 0x0000000100107a4f Squeak`loadBitBltFromwarping(<wbr>bbObj=4423438048, aBool=0) + 2351 at BitBltPlugin.c:3373</div><div>    frame #3: 0x00000001000fd955 Squeak`primitiveDisplayString + 341 at BitBltPlugin.c:5185</div><div>    frame #4: 0x0000000100097148 Squeak`primitiveExternalCall + 664 at gcc3x-interp.c:66133</div><div>    frame #5: 0x000000010000bc64 Squeak`interpret + 41892 at gcc3x-interp.c:5679</div><div>    frame #6: 0x00000001000019b8 Squeak`interpret + 248 at gcc3x-interp.c:2430</div><div><br clear="all"><div><div><b>(lldb)</b> up</div><div>frame #1: 0x00000001000438f4 Squeak`byteSizeOf(oop=<wbr>4633303952) + 100 at gcc3x-interp.c:34576</div><div>   34573<span style="white-space:pre-wrap">              </span>/* begin numBytesOf: */</div><div>   34574<span style="white-space:pre-wrap">                </span>fmt = (((usqInt) (longAt(oop))) >> (formatShift())) & (formatMask());</div><div>   34575<span style="white-space:pre-wrap">                </span>/* begin numSlotsOf: */</div><div>-> 34576<span style="white-space:pre-wrap">               </span>assert((classIndexOf(oop)) > (<wbr>isForwardedObjectClassIndexPun<wbr>()));</div><div>   34577<span style="white-space:pre-wrap">             </span>numSlots = byteAt(oop + 7);</div><div>   34578<span style="white-space:pre-wrap">            </span>numBytes = (numSlots == (numSlotsMask())</div><div>   34579<span style="white-space:pre-wrap">                       </span>? ((usqInt) (((usqInt)(((sqInt)((usqInt)((<wbr>longAt(oop - BaseHeaderSize))) << 8)))))) >> 8</div></div><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="m_-3942113830024702011gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Clément Béra<br></span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span><div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.<wbr>com/</a></div></div></div></div></div></div>
</font></span></div></div></div>
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="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>