<html><head></head><body>
    <p>Here is the Smalltalk listLoadedModules!!<br/>
      <br/>
      #('MD5Plugin CryptographyPlugins-eem.14 (e)' <br/>
      'DESPlugin CryptographyPlugins-nice.17 (e)' <br/>
      'SHA256Plugin CryptographyPlugins-eem.14 (e)' <br/>
      'DSAPrims CryptographyPlugins-eem.14 (i)' <br/>
      'UUIDPlugin VMMaker.oscog-eem.2721 (e)' <br/>
      'ZipPlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'B2DPlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'UnixOSProcessPlugin
      VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.67 (e)' <br/>
      'BitBltPlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'SocketPlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'CroquetPlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'FilePlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'LargeIntegers v2.0 VMMaker.oscog-eem.2721 (i)' <br/>
      'MiscPrimitivePlugin VMMaker.oscog-eem.2721 (i)' <br/>
      'SecurityPlugin VMMaker.oscog-eem.2721 (i)')<br/>
    </p>
    <div class="moz-cite-prefix">On 3/5/20 11:17 AM, Robert wrote:<br/>
    </div>
    <blockquote type="cite" cite="mid:e62ddfca-f568-60f9-6d85-09d446705bc1@pm.me">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
      <p><b>Hey Nicolas! All tests are Green</b><b>!</b> <b>226%
          increase in speed!</b> <br/>
        <br/>
        In squeak 5.3 on linux64, <b>with the plugins</b>. Your fixes
        to DESPlugin resolved the only issue with them! I am so grateful
        for your help. I regenerated them, using 2719, and they are
        published here. <br/>
        <br/>
        <a class="moz-txt-link-freetext" href="https://www.dropbox.com/sh/yhv253rwrhq0q5p/AAB7PKP2KPiGpDnIyule2h_Ia?dl=0" moz-do-not-send="true">https://www.dropbox.com/sh/yhv253rwrhq0q5p/AAB7PKP2KPiGpDnIyule2h_Ia?dl=0</a><br/>
        <br/>
        We would welcome any of such offerings from other platforms,
        published here as well.<br/>
        <br/>
        ---</p>
      <p>The current Cryptography code for 5.3 is <br/>
      </p>
      <h1>Cryptography-v5.3-rww.118<br/>
        <br/>
        <a class="moz-txt-link-freetext" href="http://www.squeaksource.com/@qKpleED0lBkWy2gu/bmQatj-3" moz-do-not-send="true">http://www.squeaksource.com/@qKpleED0lBkWy2gu/bmQatj-3</a></h1>
      <p>---</p>
      <p>The following are two parts of two profiles of running the
        Cryptography tests, with and without the plugins.<br/>
      </p>
      <p><b>WITHOUT PLUGINS</b><br/>
         - 2375 tallies, 2414 msec.<br/>
        <br/>
        **Leaves**<br/>
        17.3% {418ms} ThirtyTwoBitRegister>>leftRotateBy:<br/>
        13.4% {324ms} ThirtyTwoBitRegister>>bitXor:<br/>
        12.2% {295ms} ThirtyTwoBitRegister>>+=<br/>
        7.0% {169ms} []
        SystemProgressMorph(Morph)>>updateDropShadowCache<br/>
        5.2% {126ms} ThirtyTwoBitRegister>>bitAnd:<br/>
        3.7% {88ms} CryptoElGamalTest(TestCase)>>timeout:after:<br/>
        3.4% {81ms} ThirtyTwoBitRegister>>load:<br/>
        3.3% {79ms} SmallInteger>>digitLength<br/>
        2.3% {55ms} GrafPort>>copyBits<br/>
        2.2% {53ms} ThirtyTwoBitRegister>>bitOr:<br/>
        2.1% {52ms} ByteArray>>bitXor:<br/>
        1.7% {42ms} DisplayScreen(Form)>>depth<br/>
        1.7% {42ms} SHA1>>hashStream:<br/>
        1.6% {39ms} GrafPort>>fillRoundRect:radius:<br/>
        1.4% {35ms} SHA256NonPrimitive>>expandedBlock:<br/>
        1.4% {35ms} ThirtyTwoBitRegister>>bitShift:<br/>
        1.3% {33ms} ThirtyTwoBitRegister class>>new<br/>
        1.2% {28ms} Point>>=<br/>
        <br/>
        **Memory**<br/>
            old            +16,777,216 bytes<br/>
            young        -17,706,008 bytes<br/>
            used        -928,792 bytes<br/>
            free        +17,706,008 bytes<br/>
        <br/>
        **GCs**<br/>
            full            0 totalling 0 ms (0% uptime)<br/>
            incr            227 totalling 44 ms (1.8% uptime), avg 0.2
        ms<br/>
            tenures        315 (avg 0 GCs/tenure)<br/>
            root table    0 overflows<br/>
        <br/>
        <b>WITH PLUGINS</b><br/>
        - 1056 tallies, 1073 msec.<br/>
        <br/>
        **Leaves**<br/>
        16.4% {176ms} []
        SystemProgressMorph(Morph)>>updateDropShadowCache<br/>
        7.4% {79ms} CryptoElGamalTest(TestCase)>>timeout:after:<br/>
        6.2% {66ms} Point>>=<br/>
        5.4% {58ms} ByteArray>>bitXor:<br/>
        4.5% {48ms} DisplayScreen(Form)>>depth<br/>
        3.9% {42ms} GrafPort>>fillRoundRect:radius:<br/>
        3.8% {41ms}
        GrafPort(BitBlt)>>basicDisplayString:from:to:at:strikeFont:kern:<br/>
        3.4% {37ms} SmallInteger(Number)>>isZero<br/>
        3.4% {37ms} SHA1>>hashStream:<br/>
        3.2% {35ms} GrafPort>>copyBits<br/>
        2.6% {27ms} SHA1>>finalHash<br/>
        2.5% {26ms} ThirtyTwoBitRegister>>byteAt:<br/>
        2.4% {25ms} SmallInteger(Number)>>negative<br/>
        2.2% {23ms}
        SystemProgressMorph(Morph)>>setProperty:toValue:<br/>
        2.1% {22ms} SmallInteger>>digitLength<br/>
        1.8% {19ms} SHA256WithPrimitive(SHA256)>>hashStream:<br/>
        1.8% {19ms} OrderedCollection>>do:<br/>
        1.6% {17ms} ThirtyTwoBitRegister>>bitXor:<br/>
        1.5% {16ms}
        LargePositiveInteger(Integer)>>asByteArrayOfSize:<br/>
        <br/>
        **Memory**<br/>
            old            +16,777,216 bytes<br/>
            young        -20,673,880 bytes<br/>
            used        -3,896,664 bytes<br/>
            free        +20,673,880 bytes<br/>
        <br/>
        **GCs**<br/>
            full            0 totalling 0 ms (0% uptime)<br/>
            incr            53 totalling 12 ms (1.1% uptime), avg 0.2 ms<br/>
            tenures        0<br/>
            root table    0 overflows<br/>
      </p>
      <p>In comparing the times, 2414 / 1073 = <b>226% increase in
          speed</b> of running the profile. That's pretty fast! What are
        my #tinyBenchmarks?<br/>
        <br/>
        tinyBenchmarks =  '2,500,000,000 bytecodes/sec; 180,000,000
        sends/sec'.<br/>
      </p>
      <p>Thanks for all the help. You all rock! <br/>
        <br/>
        K, r<br/>
      </p>
      <div class="moz-cite-prefix">On 3/4/20 4:23 PM, Nicolas Cellier
        wrote:<br/>
      </div>
      <blockquote type="cite" cite="mid:CAKnRiT41d__-UH0SqgO+XvEfNxeySQ0ePJqRrr7235onW=-6FQ@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8"/>
        <div dir="ltr">
          <div>Hi Robert,</div>
          <div>
            <div><br/>
            </div>
            <div>If I save a Squeak5.3-19431-64bit.image with the
              Cryptography package preloaded,</div>
            <div>and put a simple test in a file <a href="http://test-crypto.st" moz-do-not-send="true">test-crypto.st</a>,
              for example:</div>
            <div><br/>
            </div>
            <div>CryptoDESTest suite run.!</div>
            <div><br/>
            </div>
          </div>
          <div>Then the Simulator invocation should be something like
            (with my own path):</div>
          <div><br/>
          </div>
          <div>| sis |<br/>
            sis := StackInterpreterSimulator newWithOptions:
            #(ObjectMemory Spur64BitMemoryManager).<br/>
            sis desiredNumStackPages: 8.<br/>
            sis assertValidExecutionPointersAtEachStep: false. <br/>
            sis openOn:
            '/Users/nicolas/Smalltalk/Squeak/trunk/Squeak5.3-19431-64bit.image'.<br/>
            sis systemAttributes<br/>
            at: 2 put: '/Users/nicolas/Smalltalk/Squeak/trunk/<a href="http://test-crypto.st" moz-do-not-send="true">test-crypto.st</a>'.<br/>
            sis openAsMorph; run</div>
          <div><br/>
          </div>
        </div>
        <br/>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">Le mer. 4 mars 2020 à 20:26,
            Robert via Squeak-dev <<a href="mailto:squeak-dev@lists.squeakfoundation.org" moz-do-not-send="true">squeak-dev@lists.squeakfoundation.org</a>>
            a écrit :<br/>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div>
              <p>Hi Eliot,</p>
              <p>Do I want too? Or am I obligated? Very well then, I am
                trying the StackVMSimulator. Should I debug down to a
                primitive call to a cryptoplugin? Or what should I do?
                I'll need to prep an image. <br/>
                <br/>
                I will need to get another Pi.<br/>
              </p>
              <p>kindly,<br/>
                robert<br/>
              </p>
              <div>On 3/4/20 11:43 AM, Eliot Miranda wrote:<br/>
              </div>
              <blockquote type="cite">
                <div dir="ltr">Hi Rob,</div>
                <div dir="ltr"><br/>
                  <blockquote type="cite">On Mar 4, 2020, at 7:57 AM,
                    Robert via Squeak-dev <a href="mailto:squeak-dev@lists.squeakfoundation.org" target="_blank" moz-do-not-send="true"><squeak-dev@lists.squeakfoundation.org></a>
                    wrote:<br/>
                    <br/>
                  </blockquote>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">
                    <p>Are there instructions for building Bochs,
                      Nicolas?<br/>
                    </p>
                  </div>
                </blockquote>
                <div><br/>
                </div>
                If you want to work on the cryptography plugins then as
                Nicolas suggests you can use the
                StackInterpreterSimulator.  You don’t need to use the
                JIT to work on a plugin, and
                the StackInterpreterSimulator is probably twice as fast
                as the JIT simulator (CogVMSimulator) since it isn’t
                simulating machine code, only interpreting bytecode.
                <div><br/>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <p> tyk, r<br/>
                      </p>
                      <div>On 3/4/20 10:50 AM, Robert wrote:<br/>
                      </div>
                      <blockquote type="cite">
                        <p>Hi yo hehr, Nicolas,<br/>
                        </p>
                        <p>I tried the first block, in the simulation
                          window, but it was missing BochsIA64 or some.
                          I then ran the third block, a StackVM as you
                          suggested. I ran it against my Cryptography
                          repair image, rabbit, and very slooowly
                          reselected the tests and ran them, in
                          proogrress...<br/>
                          <br/>
                          We sure would be appreciating etwas help, as
                          if there was a little angel out there who
                          offers plugin repair and SHA512 code/plugin.
                          Praying for an angel! <br/>
                          <br/>
                          tyk, r<br/>
                        </p>
                        <div>On 3/4/20 8:50 AM, Nicolas Cellier wrote:<br/>
                        </div>
                        <blockquote type="cite">
                          <div dir="ltr">
                            <div>Hi Robert,</div>
                            <div>normally, most of VM/plugins
                              development should take place with the
                              VM-simulation from within the
                              SpurVMMaker.image  (unless the plugin
                              extensively call C functions from external
                              libraries).</div>
                            <div>You will find a Worksapce with some
                              simulation examples.</div>
                            <div>Then you might detect the error from
                              within Smalltalk with debuggers etc...<br/>
                            </div>
                            <div>I recommend simulating a Stack VM for a
                              beginning (or you'll need to compile the
                              Bochs plugin, which is currently difficult
                              on linux...).<br/>
                            </div>
                          </div>
                          <br/>
                          <div class="gmail_quote">
                            <div dir="ltr" class="gmail_attr">Le mer. 4
                              mars 2020 à 14:40, Robert via Squeak-dev
                              <<a href="mailto:squeak-dev@lists.squeakfoundation.org" target="_blank" moz-do-not-send="true">squeak-dev@lists.squeakfoundation.org</a>>
                              a écrit :<br/>
                            </div>
                            <blockquote class="gmail_quote" style="margin:0px 0px 0px
                              0.8ex;border-left:1px solid
                              rgb(204,204,204);padding-left:1ex">
                              <div>
                                <p>Hi Levente,<br/>
                                  <br/>
                                  Yes, I see what you are saying.
                                  Without the Crypto plugins, all the
                                  Crypto tests run green. <br/>
                                  <br/>
                                  With the Crypto plugins, things get
                                  messed up. ByteArray
                                  class>>#fromHexString: still
                                  completes, but the
                                  KeyHolder>>#key SEG-FAULTS the
                                  vm (called from <b>CryptoRC2Test>>#testARC2</b>).
                                  Additionally, the following two tests
                                  fail: <b>CryptoDESTest>>#testDESCBC</b>
                                  and <b>CryptoDESTest>>#testTripleDESCBC.</b>
                                  <br/>
                                  <br/>
                                  The SEG-FAULT comes from this code:<br/>
                                  <br/>
                                  KeyHolder new<br/>
                                      data: KeyHolderData new;<br/>
                                      encryptKey: #(0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0) asByteArray;<br/>
                                      key<br/>
                                  <br/>
                                  tyk, r<br/>
                                </p>
                                <div>On 3/4/20 8:10 AM, Levente Uzonyi
                                  wrote:<br/>
                                </div>
                                <blockquote type="cite">
                                  <pre>Hi Robert,

I just ran all test cases of Cryptography-v5.3-rww.118.mcz in a fresh 5.3
image on 64-bit linux using the stock VM (no Cryptography plugins), and
all the tests are green.
ByteArray class >> #fromHexString: and methods sent by it were last
modified in 2010, and they do not accept non-hexadecimal digits in the
input string.

Levente


On Wed, 4 Mar 2020, Robert via Squeak-dev wrote:

</pre>
                                  <blockquote type="cite">
                                    <pre>In squeak 5.3, building ByteArrays from HEX strings are now failing,
after years of passing within the Cryptography tests.

The first doIt works, while the other two are now failing in the
#readHexFrom: method...
PASSING
ByteArray fromHexString: '06a9214036b8a15b512e03d534120006'

FAILING
ByteArray fromHexString: '16rc286696d887c9aa0611bbb3e2025a45a'
ByteArray fromHexString: '00000000 00000000'

This is causing multiple test failures in the Cryptography test suite.

tyk, r
</pre>
                                  </blockquote>
                                </blockquote>
                              </div>
                              <br/>
                            </blockquote>
                          </div>
                        </blockquote>
                      </blockquote>
                      <span></span><br/>
                    </div>
                  </blockquote>
                </div>
              </blockquote>
            </div>
            <br/>
          </blockquote>
        </div>
      </blockquote>
    </blockquote>
  

</body></html>