Am 12.12.2021 19:17:30 schrieb Bruce O'Neel <bruce.oneel@pckswarms.ch>:
Hi,Thanks very much!This version:andDate: Sat Dec 11 11:58:58 2021 CommitHash: 97b4903b4
and ran this test:Installer ssproject: 'Registers';install: 'Registers-Core'.Installer ssproject: 'Cryptography';addPackage: 'CryptographyHashing';addPackage: 'CryptographyHashingTests';install.(Smalltalk classNamed: #SHA256WithSHA2PluginTest) run: #testInputsandLinux64x64 had no crashes, but a few expected failures.Linux64ARMv8 had no crashes but some unexpected test failuresLinux32ArmV6 had no crashes but some unexpected test failures.So thanks, this bug seems squashed.cheersbruceOn 2021-12-11T21:02:23.000+01:00, Eliot Miranda <eliot.miranda@gmail.com> wrote:Hi Both,see commit 97b4903b4b88f22c1bd11760f107852c63f9db40Author: Eliot Miranda <eliot.miranda@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@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