Illegal instruction inside debian container (affects all ssl apache etc) [solved]

I have a Debian container running deluge / Apache.
I have noticed that most of the times I cannot execute ssl related operations.
There is a problem somewhere in the Debian’s openssl libraries.
Running with strace resolves the issue?!
strace -o /dev/null openssl speed -evp aes-256-gcm

Any ideas?

root@debian:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction
root@debian:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction
root@debian:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction
root@debian:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction
root@debian:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: Illegal instruction
root@debian:~# exit
root@turris:~# openssl speed -evp aes-256-gcm
Doing aes-256-gcm for 3s on 16 size blocks: 2462737 aes-256-gcm's in 2.99s
Doing aes-256-gcm for 3s on 64 size blocks: 638079 aes-256-gcm's in 2.99s
Doing aes-256-gcm for 3s on 256 size blocks: 161091 aes-256-gcm's in 2.99s
Doing aes-256-gcm for 3s on 1024 size blocks: 40334 aes-256-gcm's in 2.99s
Doing aes-256-gcm for 3s on 8192 size blocks: 5047 aes-256-gcm's in 3.00s
OpenSSL 1.0.2h  3 May 2016
built on: reproducible build, date unspecified
options:bn(64,32) rc4(ptr,char) des(idx,cisc,2,long) aes(partial) blowfish(ptr) 
compiler: ccache_cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/beast/beast/workspace/omnia-master/staging_dir/target-arm_cortex-a9+vfpv3_musl-1.1.11_eabi/usr/include -I/home/beast/beast/workspace/omnia-master/staging_dir/target-arm_cortex-a9+vfpv3_musl-1.1.11_eabi/include -I/home/beast/beast/workspace/omnia-master/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_musl-1.1.11_eabi/usr/include -I/home/beast/beast/workspace/omnia-master/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_musl-1.1.11_eabi/include -DOPENSSL_SMALL_FOOTPRINT -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DOPENSSL_NO_ERR -DTERMIOS -O2 -pipe -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -mfloat-abi=hard -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro -fpic -fomit-frame-pointer -Wall
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-gcm      13178.53k    13657.88k    13792.41k    13813.38k    13781.67k
1 Like

debian stable openssl is outdated, use:
apt-get -t jessie-backports install openssl

1 Like

You saved my day! I have been trying to config postfix for a day and after updating openssl it works fine.
Thanks

This problem has been caused by missing NEON instructions support and affected also other containers, strictly speaking all binaries that have been compiled with the support for NEON instructions. The bug should be fixed now and should be fixed in your Omnias as well in Turris OS 3.4.