Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: /usr/bin/ftp crash on -current (10.00.4) aarch64
On Thu, 18 May 2023, Chavdar Ivanov wrote:
Yes indeed, with SIGILL passed I get:
Program received signal SIGSEGV, Segmentation fault.
0x0000f03114c97890 in EC_GROUP_order_bits () from /usr/lib/libcrypto.so.14
(gdb) bt
#0 0x0000f03114c97890 in EC_GROUP_order_bits () from /usr/lib/libcrypto.so.14
#1 0x0000f031154898a4 in engine_unlocked_init () from /usr/lib/libcrypto.so.15
#2 0x0000f03115489ab0 in ENGINE_init () from /usr/lib/libcrypto.so.15
#3 0x0000f031153d11f0 in ?? () from /usr/lib/libcrypto.so.15
#4 0x0000f03115694c30 in ssl_setup_sig_algs () from /usr/lib/libssl.so.15
#5 0x0000f031156a85c4 in SSL_CTX_new_ex () from /usr/lib/libssl.so.15
#6 0x000000000f1be6d8 in fetch_start_ssl ()
#7 0x000000000f1b0dfc in fetch_url ()
#8 0x000000000f1b3128 in auto_fetch ()
#9 0x000000000f1bf944 in main ()
You can see the cause right in that stack trace:
EC_GROUP_order_bits is from libcrypto.so.14, but,
engine_unlocked_init etc., are from libcrypto.so.15
This is our old friend: library interpositioning and it happens due to
this:
$ readelf -d /mnt/usr/bin/ftp | f NEEDED
0x0000000000000001 NEEDED Shared library: [libedit.so.3]
0x0000000000000001 NEEDED Shared library: [libterminfo.so.2]
0x0000000000000001 NEEDED Shared library: [libssl.so.14]
0x0000000000000001 NEEDED Shared library: [libcrypto.so.14]
0x0000000000000001 NEEDED Shared library: [libc.so.12]
$ readelf -d /mnt/usr/lib/libssl.so.14 | f NEEDED
0x0000000000000001 NEEDED Shared library: [libcrypto.so.14]
0x0000000000000001 NEEDED Shared library: [libc.so.12]
So, my ftp binary explicitly needs `libcrypto.so.14'. and `libssl' also has
_the same version_ as a dependency. But, in your case, the ftp binary will
show `libcrypto.so.15', but libssl will need `libcrypto.so.14'. Ie. the
compiler linked in the newer version explicitly (cc ... -lcrypto') and the
other one was brought in implicitly via libssl.
-RVP
Home |
Main Index |
Thread Index |
Old Index