[squeak-dev] [ERROR}[5.3] building ByteArrays from HEX strings are now failing

Robert robert.withers at pm.me
Wed Mar 4 23:27:52 UTC 2020


Hi Nicolas,

Are these small changes for 32-bit or 64-bit? If they are for 64-bit, could you copy the 4 plugins into a new package: Cryptographlugins64-nice.1 so we can accumulate 64-bit changes?

Kindly,
Robert

On Wed, Mar 4, 2020 at 17:18, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:

> Never mind,
> DESPlugin was not simulator friendly...
> See small changes in CryptographyPlugins-nice.17 to make it so.
>
> http://www.squeaksource.com/Cryptography/CryptographyPlugins-nice.17.diff
>
> Le mer. 4 mars 2020 à 22:23, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> a écrit :
>
>> Hi Robert,
>>
>> If I save a Squeak5.3-19431-64bit.image with the Cryptography package preloaded,
>> and put a simple test in a file test-crypto.st, for example:
>>
>> CryptoDESTest suite run.!
>>
>> Then the Simulator invocation should be something like (with my own path):
>>
>> | sis |
>> sis := StackInterpreterSimulator newWithOptions: #(ObjectMemory Spur64BitMemoryManager).
>> sis desiredNumStackPages: 8.
>> sis assertValidExecutionPointersAtEachStep: false.
>> sis openOn: '/Users/nicolas/Smalltalk/Squeak/trunk/Squeak5.3-19431-64bit.image'.
>> sis systemAttributes
>> at: 2 put: '/Users/nicolas/Smalltalk/Squeak/trunk/test-crypto.st'.
>> sis openAsMorph; run
>>
>> Le mer. 4 mars 2020 à 20:26, Robert via Squeak-dev <squeak-dev at lists.squeakfoundation.org> a écrit :
>>
>>> Hi Eliot,
>>>
>>> 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.
>>>
>>> I will need to get another Pi.
>>>
>>> kindly,
>>> robert
>>>
>>> On 3/4/20 11:43 AM, Eliot Miranda wrote:
>>>
>>>> Hi Rob,
>>>>
>>>>> On Mar 4, 2020, at 7:57 AM, Robert via Squeak-dev [<squeak-dev at lists.squeakfoundation.org>](mailto:squeak-dev at lists.squeakfoundation.org) wrote:
>>>>
>>>>> 
>>>>>
>>>>> Are there instructions for building Bochs, Nicolas?
>>>>
>>>> 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.
>>>>
>>>>> tyk, r
>>>>>
>>>>> On 3/4/20 10:50 AM, Robert wrote:
>>>>>
>>>>>> Hi yo hehr, Nicolas,
>>>>>>
>>>>>> 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...
>>>>>>
>>>>>> 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!
>>>>>>
>>>>>> tyk, r
>>>>>>
>>>>>> On 3/4/20 8:50 AM, Nicolas Cellier wrote:
>>>>>>
>>>>>>> Hi Robert,
>>>>>>> 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).
>>>>>>> You will find a Worksapce with some simulation examples.
>>>>>>> Then you might detect the error from within Smalltalk with debuggers etc...
>>>>>>> I recommend simulating a Stack VM for a beginning (or you'll need to compile the Bochs plugin, which is currently difficult on linux...).
>>>>>>>
>>>>>>> Le mer. 4 mars 2020 à 14:40, Robert via Squeak-dev <squeak-dev at lists.squeakfoundation.org> a écrit :
>>>>>>>
>>>>>>>> Hi Levente,
>>>>>>>>
>>>>>>>> Yes, I see what you are saying. Without the Crypto plugins, all the Crypto tests run green.
>>>>>>>>
>>>>>>>> With the Crypto plugins, things get messed up. ByteArray class>>#fromHexString: still completes, but the KeyHolder>>#key SEG-FAULTS the vm (called from CryptoRC2Test>>#testARC2). Additionally, the following two tests fail: CryptoDESTest>>#testDESCBC and CryptoDESTest>>#testTripleDESCBC.
>>>>>>>>
>>>>>>>> The SEG-FAULT comes from this code:
>>>>>>>>
>>>>>>>> KeyHolder new
>>>>>>>>     data: KeyHolderData new;
>>>>>>>>     encryptKey: #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) asByteArray;
>>>>>>>>     key
>>>>>>>>
>>>>>>>> tyk, r
>>>>>>>>
>>>>>>>> On 3/4/20 8:10 AM, Levente Uzonyi wrote:
>>>>>>>>
>>>>>>>>> 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:
>>>>>>>>>
>>>>>>>>>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200304/0e2024e9/attachment.html>


More information about the Squeak-dev mailing list