[Vm-dev] Next Release Candidate?

Levente Uzonyi leves at caesar.elte.hu
Fri Dec 10 12:43:31 UTC 2021


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




More information about the Vm-dev mailing list