<div dir="ltr">Hey Juan,<div><br></div><div>So for a mistake on my end, I didn't realize updates from Git had to be explicitly installed.. after installing the updates and doing your test-case, I can see there's no glitches.</div><div><br></div><div>Unfortunately, my morph, BebopTransform, still hangs Morphic when I do the below test case. If you have spare time, I've attached my package, named Bebop, for you to reproduce. I apologize in advance if my morph is not implemented correctly.</div><div><br></div><div>- Repos are pulled<br>- Started fresh Cuis.<br>- Installed updates.</div><div>- Loaded package 'Bebop'</div><div>- World / New morph... / Vector Graphics / BebopTransform</div><div>- In BebopTransformGraphLine >> drawOn:, add "aCanvas drawString: 1.0 at: -13 @ 58 font: nil color: Color brown."</div><div><br></div><div>It looks like Morphic only hangs when we create BebopTransform and then modify drawOn: later on.</div><div><br></div><div>Best,</div><div>Alan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 16, 2022 at 6:00 AM Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<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"><u></u>

  
    
    
  
  <div bgcolor="#ffffff">
    Hi Alan,<br>
    <br>
    - Repos are pulled<br>
    - Started fresh Cuis.<br>
    - Installed updates.<br>
    - Changed string to Float in Sample09Clock >> drawOn:<br>
    - added stepTime ^17<br>
    - World / New morph... / Vector Graphics / Sample09Clock<br>
    <br>
    I just get a "faulty morph" (red square with yellow borders and
    cross). No debuggers. No glitches. Everything works as expected.<br>
    <br>
    If you can reliably reproduce the problem, please provided detailed
    enough steps so I can reproduce it.<br>
    <br>
    Thanks,<br>
    <br>
    On 12/16/2022 1:35 AM, Alan Dao via Cuis-dev wrote:
    <blockquote type="cite">
      <div dir="ltr">Hi Juan,
        <div><br>
        </div>
        <div>Thanks a bunch for looking into this! I've tested on
          Sample09Clock and the error handling works properly now.
          Unfortunately, I tried testing on my 60Hz step morph and still
          see issues. The image doesn't hang and I eventually see a
          debugger, but the Morphic rendering of the whole world breaks
          for the rest of the image runtime. I tested this in
          Sample09Clock and can reproduce it there. To reproduce, put
          the previous faulty code into the drawOn method add this
          method to Sample09Clock instance:</div>
        <div><br>
        </div>
        <div>```</div>
        <div>stepTime<br>
              ^ 17</div>
        <div>```</div>
        <div><br>
        </div>
        <div>Then create the clock.</div>
        <div><br>
        </div>
        <div>Looks like the fix is prone to race conditions :(</div>
        <div><br>
        </div>
        <div>Alan</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Thu, Dec 15, 2022 at 2:54
          PM Juan Vuletich <<a href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>> wrote:<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 bgcolor="#ffffff"> Hi All,<br>
            <br>
            I finally could reproduce and understand the problem. Fix is
            now at GitHub.<br>
            <br>
            Thanks for reporting!<br>
            <br>
            Cheers,<br>
            <br>
            On 12/15/2022 9:50 AM, Juan Vuletich via Cuis-dev wrote:
            <blockquote type="cite"> Hi Folks,<br>
              <br>
              I guess I need more precise steps to reproduce.<br>
              <br>
              I just fired a fresh Cuis, from an updated repo. Just
              installed updates and opened a Sample09Clock. It works ok.
              Then I open a browser on it (from the halo), went to the
              drawOn: method and added your line Alan. I get a debugger
              "Instances of SmallFloat64 are not indexable". I close the
              debugger and see the clock displayed now as a red box with
              yellow borders and cross. Image is responsive. I go to the
              browser and correct the method. Then I do World / Debug /
              Start drawing all again. The clock is correctly drawn
              again.<br>
              <br>
              In short, I see the expected behavior. This means I need
              enough detail, so I can reproduce the problem.<br>
              <br>
              Thanks,<br>
              <br>
              <br>
              On 12/15/2022 6:28 AM, Hilaire Fernandes via Cuis-dev
              wrote:
              <blockquote type="cite">
                <p><font size="4">Hi Alan,</font></p>
                <p><font size="4">Thanks to report! I confirm the issue,
                    even with non stepping morph. It should not behave
                    like that. <br>
                  </font></p>
                <p><font size="4">The expected behavior with faulty code
                    in a #drawOn: method is a broken morph rendered as a
                    red rectangle with yellow diagonals and stepping set
                    in pause, to avoid recurring debugger to pop up I
                    guess. By the way there is the WorldMenu>Debug 
                    and Morph halo menus to restart stepping and
                    rendering once the broken code is fixed.</font></p>
                <p><font size="4">It seems the Morph is not detected as
                    broken, and rendering is tried again and again.<br>
                  </font></p>
                <p><font size="4">Juan recently introduced the
                    HybridCanvas to speed up graphics rendering, may be
                    it is related, and a fix should come. I can't help
                    more, sorry.<br>
                  </font></p>
                <p><font size="4">Hilaire</font><br>
                </p>
                <div>Le 15/12/2022 à 07:43, Alan Dao via Cuis-dev a
                  écrit :<br>
                </div>
                <blockquote type="cite">
                  <div>I know that the code I've put in is inherently
                    flawed, but my development process involves
                    experimenting a lot and not always knowing what I'm
                    doing. Is there something I'm missing when it comes
                    to not having mistakes break Morphic? Any advice
                    would be appreciated.</div>
                  <div><br>
                  </div>
                </blockquote>
                <pre cols="72">-- 
GNU Dr. Geo
<a href="http://drgeo.eu" target="_blank">http://drgeo.eu</a>
<a href="http://blog.drgeo.eu" target="_blank">http://blog.drgeo.eu</a></pre>
              </blockquote>
              <br>
              <br>
              <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank">twitter.com/JuanVuletich</a></pre>
            </blockquote>
            <br>
            <br>
            <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank">twitter.com/JuanVuletich</a></pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
    <br>
    <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank">twitter.com/JuanVuletich</a></pre>
  </div>

</blockquote></div>