[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#869241: python-libnacl FTBFS: Illegal instruction



Hi,

On 01/08/17 10:59, Colin Watson wrote:
> On Fri, Jul 21, 2017 at 11:55:28PM +0300, Adrian Bunk wrote:
>> Source: python-libnacl
>> Version: 1.5.2-1
>> Severity: serious
>>
>> https://buildd.debian.org/status/fetch.php?pkg=python-libnacl&arch=all&ver=1.5.2-1&stamp=1500664052&raw=0
>>
>> ...
>>    dh_auto_test -i -O--buildsystem=pybuild
>> I: pybuild base:184: cd /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build; python2.7 -m nose tests
>> Illegal instruction
>> E: pybuild pybuild:283: test: plugin distutils failed with: exit code=132: cd /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build; python2.7 -m nose tests
>> dh_auto_test: pybuild --test -i python{version} -p 2.7 returned exit code 13
>> debian/rules:7: recipe for target 'build-indep' failed
>> make: *** [build-indep] Error 25
> 
> I think this can only be a bug in libsodium rather than in
> python-libnacl as such; presumably somewhere in crypto_aead_aes256gcm_*
> or crypto_aead_chacha20poly1305_ietf_* which are newly used in
> python-libnacl 1.5.2.  But I can't reproduce it locally, and the Ubuntu
> builders seemed happy with it too, so perhaps it has something to do
> with the CPU or the kernel version, or perhaps it was fixed in libsodium
> 1.0.13 (the failure was with 1.0.12).
> 
> Before embarking on any more time-consuming investigation, could the
> build be given back to see if libsodium 1.0.13 helps?

It fails on barriere.debian.org with libsodium 1.0.13. Looking at
/proc/cpuinfo, barriere does not have the x86 AES instructions.

> (gdb) bt
> #0  0x00007ffff4a46c3f in crypto_aead_aes256gcm_beforenm () from /usr/lib/x86_64-linux-gnu/libsodium.so
> #1  0x00007ffff4a49cd1 in crypto_aead_aes256gcm_encrypt () from /usr/lib/x86_64-linux-gnu/libsodium.so
> #2  0x00007ffff4c72038 in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
> #3  0x00007ffff4c71a9a in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
> #4  0x00007ffff4e85e84 in _ctypes_callproc () from /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
> #5  0x00007ffff4e85845 in ?? () from /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so
> #6  0x0000555555640163 in PyObject_Call ()
> #7  0x0000555555659622 in PyEval_EvalFrameEx ()
[...]

> (gdb) disassemble
> Dump of assembler code for function crypto_aead_aes256gcm_beforenm:
>    0x00007ffff4a46c20 <+0>:     movdqu (%rsi),%xmm1
>    0x00007ffff4a46c24 <+4>:     xor    %eax,%eax
>    0x00007ffff4a46c26 <+6>:     pxor   %xmm0,%xmm0
>    0x00007ffff4a46c2a <+10>:    movaps %xmm1,0x10(%rdi)
>    0x00007ffff4a46c2e <+14>:    movdqa %xmm1,%xmm3
>    0x00007ffff4a46c32 <+18>:    shufps $0x10,%xmm1,%xmm0
>    0x00007ffff4a46c36 <+22>:    movdqu 0x10(%rsi),%xmm2
>    0x00007ffff4a46c3b <+27>:    pxor   %xmm0,%xmm3
> => 0x00007ffff4a46c3f <+31>:    aeskeygenassist $0x1,%xmm2,%xmm12
>    0x00007ffff4a46c46 <+38>:    movdqa %xmm2,%xmm14
>    0x00007ffff4a46c4b <+43>:    movaps %xmm2,0x20(%rdi)
>    0x00007ffff4a46c4f <+47>:    shufps $0x8c,%xmm3,%xmm0
>    0x00007ffff4a46c53 <+51>:    pshufd $0xff,%xmm12,%xmm12
>    0x00007ffff4a46c59 <+57>:    pxor   %xmm0,%xmm12
>    0x00007ffff4a46c5e <+62>:    shufps $0x10,%xmm2,%xmm0

Thanks,
James

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: