debugging gsasl autopkg test error on armhf

Andreas Metzler ametzler at bebt.de
Sun Dec 3 17:20:18 GMT 2023


Hello,

gnutls28 is currently blocked from testing because gsasl's autopkg test
fails. I have played around on abel:

Taking a trixie chroot and pulling in newer gnutls via LD_LIBRARY_PATH
makes most of the testsuite fail, including this trivial test:

8X------------------------------
LD_LIBRARY_PATH=~/BU/gnutls28-3.8.2/debian/tmp/usr/lib/arm-linux-gnueabihf  valgrind --error-exitcode=1 /usr/bin/gsasl --mkpasswd --password password --mechanism SCRAM-SHA-1 ; echo $?
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48B9A5A: lib_init (global.c:499)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f468 is on thread 1's stack
==16979==  16 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48B9A5A: lib_init (global.c:499)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in
/usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f468 is on thread 1's stack
==16979==  16 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48B9A5A: lib_init (global.c:499)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in
/usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f468 is on thread 1's stack
==16979==  16 bytes below stack pointer
[...]
(Full log attached)
8X------------------------------

OTOH the test succeeds on sid.[1] I have checked the differences trixie/sid
and tried pulling in the other newer libraries into the trixie chroot in
vain. The only thing I could not test was valgrind, sid has 1:3.20.0-2,
trixie 1:3.19.0-1. So I *suspect* valgrind/trixie to be slightly broken.
Could this be true? Any better ideas?

TIA, cu Andreas


[1]
==17768== Memcheck, a memory error detector
==17768== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==17768== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
==17768== Command: /usr/bin/gsasl --mkpasswd --password password --mechanism SCRAM-SHA-1
==17768==
{SCRAM-SHA-1}65536,GiFRM7gH+lxu1r64,cGXqaDs3AxdxGl/Ia36IpYwHFrA=,pYycqZHy09aKZ9UK3hEIaT9XSls=
==17768==
==17768== HEAP SUMMARY:
==17768==     in use at exit: 42 bytes in 4 blocks
==17768==   total heap usage: 1,326 allocs, 1,322 frees, 99,720 bytes allocated
==17768==
==17768== LEAK SUMMARY:
==17768==    definitely lost: 0 bytes in 0 blocks
==17768==    indirectly lost: 0 bytes in 0 blocks
==17768==      possibly lost: 0 bytes in 0 blocks
==17768==    still reachable: 42 bytes in 4 blocks
==17768==         suppressed: 0 bytes in 0 blocks
==17768== Rerun with --leak-check=full to see details of leaked memory
==17768==
==17768== For lists of detected and suppressed errors, rerun with: -s
==17768== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2733 from 34)
0
-—-----------
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
-------------- next part --------------

{ LD_LIBRARY_PATH=~/BU/gnutls28-3.8.2/debian/tmp/usr/lib/arm-linux-gnueabihf  valgrind --error-exitcode=1 /usr/bin/gsasl --mkpasswd --password password --mechanism SCRAM-SHA-1 ; echo $? ; } > armhf.log 2>&1

==16979== Memcheck, a memory error detector
==16979== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==16979== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==16979== Command: /usr/bin/gsasl --mkpasswd --password password --mechanism SCRAM-SHA-1
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48B9A5A: lib_init (global.c:499)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f468 is on thread 1's stack
==16979==  16 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48E3F14: _gnutls_global_init (global.c:239)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f438 is on thread 1's stack
==16979==  40 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x4994E1A: gnutls_crypto_init (init.c:41)
==16979==    by 0x48E3F8D: _gnutls_global_init (global.c:272)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f430 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48F1B7A: _gnutls_rnd_preinit (random.c:106)
==16979==    by 0x48E40F1: _gnutls_global_init (global.c:311)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f41c is on thread 1's stack
==16979==  32 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x4997F7A: _rnd_system_entropy_init (sysrng-linux.c:162)
==16979==    by 0x48F1B85: _gnutls_rnd_preinit (random.c:126)
==16979==    by 0x48E40F1: _gnutls_global_init (global.c:311)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f404 is on thread 1's stack
==16979==  32 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x4921800: gl_linked_nx_create_empty (gl_anylinked_list2.h:45)
==16979==    by 0x48F1BB3: gl_list_nx_create_empty (gl_list.h:608)
==16979==    by 0x48F1BB3: _gnutls_rnd_preinit (random.c:134)
==16979==    by 0x48E40F1: _gnutls_global_init (global.c:311)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f3f0 is on thread 1's stack
==16979==  32 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48FF426: _gnutls_register_fork_handler (atfork.c:51)
==16979==    by 0x48E410F: _gnutls_global_init (global.c:331)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f438 is on thread 1's stack
==16979==  16 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48D2D02: _gnutls_prepare_to_load_system_priorities (priority.c:2324)
==16979==    by 0x48E4127: _gnutls_global_init (global.c:387)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0f440 is on thread 1's stack
==16979==  8 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48D1DF4: _gnutls_update_system_priorities (priority.c:2202)
==16979==    by 0x48D2D2F: _gnutls_prepare_to_load_system_priorities (priority.c:2336)
==16979==    by 0x48E4127: _gnutls_global_init (global.c:387)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0e424 is on thread 1's stack
==16979==  4096 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48D1DFC: _gnutls_update_system_priorities (priority.c:2202)
==16979==    by 0x48D2D2F: _gnutls_prepare_to_load_system_priorities (priority.c:2336)
==16979==    by 0x48E4127: _gnutls_global_init (global.c:387)
==16979==    by 0x48B9AAB: lib_init (global.c:522)
==16979==    by 0x400354B: call_init (dl-init.c:90)
==16979==    by 0x400354B: call_init (dl-init.c:27)
==16979==    by 0x40035F9: _dl_init (dl-init.c:137)
==16979==    by 0x400F3DF: ??? (in /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
==16979==  Address 0xbde0e104 is on thread 1's stack
==16979==  4896 bytes below stack pointer
==16979== 
{SCRAM-SHA-1}65536,yGUeOpFOp8JXCUJC,1COPDORSaDGe8tZZyyKG7C+O4Xw=,gxda0fsmH2oYrwj8StlmBMJA8hA=
==16979== Invalid write of size 4
==16979==    at 0x48B99DA: lib_deinit (global.c:531)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2d0 is on thread 1's stack
==16979==  16 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48E3D32: _gnutls_global_deinit (global.c:400)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2c0 is on thread 1's stack
==16979==  32 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48F1C7E: _gnutls_rnd_deinit (random.c:143)
==16979==    by 0x48E3D6F: _gnutls_global_deinit (global.c:418)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2c0 is on thread 1's stack
==16979==  8 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x49213E8: gl_linked_list_free (gl_anylinked_list2.h:917)
==16979==    by 0x48F1C8D: gl_list_free (gl_list.h:843)
==16979==    by 0x48F1C8D: _gnutls_rnd_deinit (random.c:144)
==16979==    by 0x48E3D6F: _gnutls_global_deinit (global.c:418)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f298 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48DA1B0: _gnutls_hello_ext_deinit (hello_ext.c:519)
==16979==    by 0x48E3D73: _gnutls_global_deinit (global.c:419)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2a0 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48FD912: _gnutls_crypto_deregister (crypto-backend.c:145)
==16979==    by 0x48E3D8F: _gnutls_global_deinit (global.c:423)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2c0 is on thread 1's stack
==16979==  8 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48FD7CE: _deregister (crypto-backend.c:128)
==16979==    by 0x48FD91F: _gnutls_crypto_deregister (crypto-backend.c:146)
==16979==    by 0x48E3D8F: _gnutls_global_deinit (global.c:423)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f298 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48FD7CE: _deregister (crypto-backend.c:128)
==16979==    by 0x48FD927: _gnutls_crypto_deregister (crypto-backend.c:147)
==16979==    by 0x48E3D8F: _gnutls_global_deinit (global.c:423)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f298 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48FD7CE: _deregister (crypto-backend.c:128)
==16979==    by 0x48E3D8F: _gnutls_global_deinit (global.c:423)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2a0 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48F13E0: _gnutls_supplemental_deinit (supplemental.c:87)
==16979==    by 0x48E3D9B: _gnutls_global_deinit (global.c:427)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2a0 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48D2D96: _gnutls_unload_system_priorities (priority.c:2344)
==16979==    by 0x48E3D9F: _gnutls_global_deinit (global.c:428)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2a0 is on thread 1's stack
==16979==  24 bytes below stack pointer
==16979== 
==16979== Invalid write of size 4
==16979==    at 0x48CF282: _gnutls_nss_keylog_deinit (kx.c:171)
==16979==    by 0x4000A29: _dl_call_fini (dl-call_fini.c:43)
==16979==    by 0x400344D: _dl_fini (dl-fini.c:78)
==16979==    by 0x4A455DD: __run_exit_handlers (exit.c:111)
==16979==    by 0x4A4570D: exit (exit.c:141)
==16979==    by 0x4A347DD: (below main) (libc_start_call_main.h:74)
==16979==  Address 0xbde0f2e0 is on thread 1's stack
==16979==  8 bytes below stack pointer
==16979== 
==16979== 
==16979== HEAP SUMMARY:
==16979==     in use at exit: 42 bytes in 4 blocks
==16979==   total heap usage: 1,326 allocs, 1,322 frees, 102,792 bytes allocated
==16979== 
==16979== LEAK SUMMARY:
==16979==    definitely lost: 0 bytes in 0 blocks
==16979==    indirectly lost: 0 bytes in 0 blocks
==16979==      possibly lost: 0 bytes in 0 blocks
==16979==    still reachable: 42 bytes in 4 blocks
==16979==         suppressed: 0 bytes in 0 blocks
==16979== Rerun with --leak-check=full to see details of leaked memory
==16979== 
==16979== For lists of detected and suppressed errors, rerun with: -s
==16979== ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnutls-maint/attachments/20231203/7c31406c/attachment-0001.sig>


More information about the Pkg-gnutls-maint mailing list