openssl faults with "illegal instruction" for e.d. squid, tor, etc.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
Invalid
|
Undecided
|
Unassigned |
Bug Description
OpenSSL has issues on the RPI.
With all kinds of software it fails in OPENSSL_cpuid_setup with a SIGILL.
E.g. with the squid proxy:
Program received signal SIGILL, Illegal instruction.
0xb6e585e0 in ?? () from /usr/lib/
(gdb) bt
#0 0xb6e585e0 in ?? () from /usr/lib/
Cannot access memory at address 0x0
#1 0xb6e54fc4 in OPENSSL_cpuid_setup () from /usr/lib/
#2 0xb6fe8254 in ?? () from /lib/ld-
#3 0xbefff7e6 in ?? ()
#4 0xbefff7e6 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
If you do a google you'll find that lots of people have issues like this. With e.g. tor etc.
Changed in raspbian: | |
status: | New → Invalid |
Afaict openssl probes the capabilities of the user's CPU by trying to do things and trapping the illegal instruction errors. So a couple of sigills during startup is normal. When using a debugger in order to find the real failure in your application you must continue past the startup sigills.
root@raspberryp i:/home/ pi# gdb openssl gnu.org/ licenses/ gpl.html> gnueabihf" . www.gnu. org/software/ gdb/bugs/>... openssl. ..(no debugging symbols found)...done.
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-
For bug reporting instructions, please see:
<http://
Reading symbols from /usr/bin/
(gdb) run
Starting program: /usr/bin/openssl
Program received signal SIGILL, Illegal instruction. arm-linux- gnueabihf/ libcrypto. so.1.0. 0
0xb6e655e0 in _armv7_neon_probe ()
from /usr/lib/
(gdb) continue
Continuing.
Program received signal SIGILL, Illegal instruction.
_armv7_tick () at armv4cpuid.S:17
17 armv4cpuid.S: No such file or directory.
(gdb) continue
Continuing.
OpenSSL>
There has recently been a new openssl version uploaded which according to debian fixes a crash bug. Please upgrade to that version. If you are still having problems with your application crashing then please load it into a debugger continue past the sigill's in the startup code and get a backtrace from the real failure.
I'm setting this bug as invalid, if you can show a backtrace with real failure (not mere CPU capability probing) in the current raspbian version of openssl then please file a new bug.
Also when recording backtraces please install the corresponding -dbg packages so that people can make sense of them.