[squeak-dev] [Vm-dev] Next Release Candidate?

Eliot Miranda eliot.miranda at gmail.com
Sat Dec 11 20:02:23 UTC 2021


Hi Both,

     see commit 97b4903b4b88f22c1bd11760f107852c63f9db40
Author: Eliot Miranda <eliot.miranda at gmail.com>
Date:   Sat Dec 11 11:58:58 2021 -0800

    src/plugins/SHA2Plugin/SHA2Plugin.c as per CryptographyPlugins-eem.24

    Fix crashes in primitiveSHA256ProcessBufferUpdatingHash when compiling
with
    Clang on x86_64 due to SSE instructions which require 128-bit stack
alignment.

I need to know about any other such crashes pronto.


On Fri, Dec 10, 2021 at 4:43 AM Levente Uzonyi <leves at caesar.elte.hu> wrote:

> Hi Marcel,
>
> The SHA2 plugin (primitiveSHA256ProcessBufferUpdatingHash) still
> crashes with that VM on 64-bit linux.
> The plugin code works with earlier versions, so it's either a VM
> change of the past 6-9 months, a code generator bug or a compiler bug IMO.
>
> To reproduce the crash, evaluate the following:
>
> Installer ss
>         project: 'Registers';
>         install: 'Registers-Core'.
> Installer ss
>         project: 'Cryptography';
>         addPackage: 'CryptographyHashing';
>         addPackage: 'CryptographyHashingTests';
>         install.
> (Smalltalk classNamed: #SHA256WithSHA2PluginTest) run: #testInputs
>
> Interestingly another test (SHA512WithSHA2PluginTest) using a very
> similar primitive but with DoubleWords works fine. So perhaps it's an
> alignment issue.
>
> Assert and debug VMs do not have that issue, so it's not that easy to
> debug it. What I found was that buffer's value at
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/99f1116c0f7a4ba9a0bf88cf7deb276325aa2d79/src/plugins/SHA2Plugin/SHA2Plugin.c#L277
> was not the expected pointer, so the subsequent copying into it resulted
> in segmentation fault.
>
>
> Levente
>
>
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211211/939f1df5/attachment.html>


More information about the Squeak-dev mailing list