Download raw body.
Update to gdb-13.2 - tests wanted
On Fri, Nov 08, 2024 at 09:29:31AM +0100, Theo Buehler wrote:
> It builds and kind of works on arm64. It's much less broken than 9.2
> so I don't believe that's a blocker,
Thanks for the tests. "Less broken" sounds like a good reason to
update to 13.2.
> but stepping between shared objects
> is strange.
>
> As you can see in this reproducer, instead of breaking at the entry of
> EVP_aead_aes_256_gcm() when I try to step, it slithers way past that and
> only remembers to break much later in libc rather than libcrypto.
I can give this a shot when I get back home, but I won't pretend I'll
be able to fix it. ;)
> $ egdb -q openssl
> Reading symbols from openssl...
> (No debugging symbols found in openssl)
> (gdb) b tls13_cipher_aead
> Function "tls13_cipher_aead" not defined.
> Make breakpoint pending on future shared library load? (y or [n]) y
> Breakpoint 1 (tls13_cipher_aead) pending.
> (gdb) run s_client -connect libressl.org:443
> Starting program: /usr/bin/openssl s_client -connect libressl.org:443
> CONNECTED(00000003)
>
> Breakpoint 1, tls13_cipher_aead (cipher=<optimized out>) at /usr/src/lib/libssl/tls13_lib.c:78
> 78 if (cipher == NULL)
> (gdb) bt
> #0 tls13_cipher_aead (cipher=<optimized out>) at /usr/src/lib/libssl/tls13_lib.c:78
> #1 0x00000012501a2b28 in tls13_client_engage_record_protection (ctx=0x12a8be6180)
> at /usr/src/lib/libssl/tls13_client.c:353
> #2 tls13_server_hello_recv (ctx=0x12a8be6180, cbs=<optimized out>)
> at /usr/src/lib/libssl/tls13_client.c:492
> #3 0x00000012501a29d8 [PAC] in tls13_server_hello_retry_request_recv (ctx=0x12a8be6180,
> cbs=0x7dc49c23e8) at /usr/src/lib/libssl/tls13_client.c:409
> #4 0x0000001250185520 [PAC] in tls13_handshake_recv_action (ctx=0x12a8be6180,
> action=0x12501d3820 <state_machine+64>) at /usr/src/lib/libssl/tls13_handshake.c:549
> #5 tls13_handshake_perform (ctx=0x12a8be6180) at /usr/src/lib/libssl/tls13_handshake.c:412
> #6 0x000000125018acac [PAC] in tls13_legacy_connect (ssl=0x134c957a00)
> at /usr/src/lib/libssl/tls13_legacy.c:466
> #7 0x000000125018a744 [PAC] in tls13_legacy_write_bytes (ssl=0x134c957a00, type=32, vbuf=0x0,
> len=0) at /usr/src/lib/libssl/tls13_legacy.c:266
> #8 0x0000000e4f8e2c20 [PAC] in ?? ()
> #9 0x0000000e4f8d7e38 [PAC] in ?? ()
> #10 0x0000000e4f8c038c [PAC] in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb) n
> 80 if (cipher->algorithm_ssl != SSL_TLSV1_3)
> (gdb)
> 83 switch (cipher->algorithm_enc) {
> (gdb)
> 87 return EVP_aead_aes_256_gcm();
> (gdb) s
> _libc_time (t=<optimized out>) at /usr/src/lib/libc/gen/time.c:36
> 36 {
> (gdb) bt
> #0 _libc_time (t=<optimized out>) at /usr/src/lib/libc/gen/time.c:36
> #1 0x00000012f2c9b5b0 in x509_verify_cert_times (cert=0x12951ce620,
> cmp_time=<error reading variable: Cannot access memory at address 0x0>,
> error=<optimized out>) at /usr/src/lib/libcrypto/x509/x509_verify.c:820
> #2 x509_verify_cert_valid (ctx=0x12a49c3280, cert=0x12951ce620, current_chain=0x134c95b720)
> at /usr/src/lib/libcrypto/x509/x509_verify.c:940
> #3 0x00000012f2c9bbcc [PAC] in x509_verify_consider_candidate (ctx=0x12a49c3280,
> cert=0x12951ce0e0, is_root_cert=0, candidate=0x12951ce620, current_chain=0x134c95b720,
> full_chain=1, name=<optimized out>) at /usr/src/lib/libcrypto/x509/x509_verify.c:592
> #4 0x00000012f2c9b1b4 [PAC] in x509_verify_build_chains (ctx=0x12a49c3280, cert=0x12951ce0e0,
> current_chain=0x134c95b720, full_chain=1, name=0x0)
> at /usr/src/lib/libcrypto/x509/x509_verify.c:729
> #5 0x00000012f2c9a66c [PAC] in x509_verify (ctx=0x12a49c3280, leaf=0x12951ce0e0, name=0x0)
> at /usr/src/lib/libcrypto/x509/x509_verify.c:1164
> #6 0x00000012f2c8f830 [PAC] in _lcry_X509_verify_cert (ctx=0x12a49bfe40)
> at /usr/src/lib/libcrypto/x509/x509_vfy.c:644
> #7 0x00000012501b74c0 [PAC] in ssl_verify_cert_chain (s=0x134c957a00, certs=<optimized out>)
> at /usr/src/lib/libssl/ssl_cert.c:437
> #8 0x00000012501a3338 [PAC] in tls13_server_certificate_recv (ctx=0x12a8be6180,
> cbs=<optimized out>) at /usr/src/lib/libssl/tls13_client.c:605
> #9 0x0000001250185520 [PAC] in tls13_handshake_recv_action (ctx=0x12a8be6180,
> action=0x12501d38a0 <state_machine+192>) at /usr/src/lib/libssl/tls13_handshake.c:549
> #10 tls13_handshake_perform (ctx=0x12a8be6180) at /usr/src/lib/libssl/tls13_handshake.c:412
> #11 0x000000125018acac [PAC] in tls13_legacy_connect (ssl=0x134c957a00)
> at /usr/src/lib/libssl/tls13_legacy.c:466
> #12 0x000000125018a744 [PAC] in tls13_legacy_write_bytes (ssl=0x134c957a00, type=1284996096,
> vbuf=0x1a, len=0) at /usr/src/lib/libssl/tls13_legacy.c:266
> #13 0x0000000e4f8e2c20 [PAC] in ?? ()
> #14 0x0000000e4f8d7e38 [PAC] in ?? ()
> #15 0x0000000e4f8c038c [PAC] in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb)
>
--
jca
Update to gdb-13.2 - tests wanted