Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 923411

Summary: app-crypt/tpm2-abrmd-3.0.0-r2 fails tests (hang)
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Christopher Byrne <salah.coronya>
Status: CONFIRMED ---    
Severity: normal CC: esigra, proxy-maint, salah.coronya, sam
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/tpm2-software/tpm2-abrmd/issues/844
https://bugs.gentoo.org/show_bug.cgi?id=931885
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 408963, 915000, 923412    
Attachments: build.log
Full backtrace of tpm2-abrmd with debug info

Description Agostino Sarubbo gentoo-dev 2024-01-31 10:24:24 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: app-crypt/tpm2-abrmd-3.0.0-r2 fails tests (hang).
Discovered on: amd64 (internal ref: clang-lld_tinderbox)
System: CLANG-LLD (https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#CLANG-LLD)

Info about the issue:
https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#CF0016
Comment 1 Agostino Sarubbo gentoo-dev 2024-01-31 10:24:27 UTC
Created attachment 883857 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2024-01-31 10:24:27 UTC
Error(s) that match a know pattern:


FAIL: test/integration/auth-session-max.int
FAIL: test/integration/auth-session-start-flush.int
FAIL: test/integration/auth-session-start-save-load.int
FAIL: test/integration/auth-session-start-save.int
FAIL: test/integration/get-capability-handles-transient.int
FAIL: test/integration/get-capability-with-session.int
FAIL: test/integration/hash-sequence.int
FAIL: test/integration/manage-transient-keys.int
FAIL: test/integration/max-transient-upperbound.int
FAIL: test/integration/not-enough-handles-for-command.int
FAIL: test/integration/password-authorization.int
FAIL: test/integration/session-gap.int
FAIL: test/integration/session-load-from-closed-connection.int
FAIL: test/integration/session-load-from-closed-connections-lru.int
FAIL: test/integration/session-load-from-open-connection.int
FAIL: test/integration/tcti-cancel.int
FAIL: test/integration/tcti-connect-multiple.int
FAIL: test/integration/tcti-connections-max.int
FAIL: test/integration/tcti-double-finalize.int
FAIL: test/integration/tcti-set-locality.int
FAIL: test/integration/tpm2-command-flush-no-handle.int
Comment 3 Christopher Byrne 2024-03-21 17:23:02 UTC
Just compiling app-crypt/tpm2-abrmd with clang isn't enough to replicate this. I built a VM with everything works normally. On the new clang machine, the resultant tpm2-ambrd dies soon after it is run:

#0  0x00007ffff7ee66aa in g_output_stream_write ()
    at /usr/lib64/libgio-2.0.so.0
#1  0x00005555555731f7 in write_all ()
#2  0x00007ffff584c26a in Tss2_Tcti_Device_Init ()
    at /usr/lib64/libtss2-tcti-device.so.0
#3  0x00007ffff7bc9693 in tcti_from_init () at /usr/lib64/libtss2-tctildr.so.0
#4  0x00007ffff7bc98d0 in tcti_from_info () at /usr/lib64/libtss2-tctildr.so.0
#5  0x00007ffff7bca8ff in tcti_from_file () at /usr/lib64/libtss2-tctildr.so.0
#6  0x00007ffff7bca2df in Tss2_TctiLdr_Initialize_Ex ()
    at /usr/lib64/libtss2-tctildr.so.0
#7  0x00007ffff7bca4ef in Tss2_TctiLdr_Initialize ()
    at /usr/lib64/libtss2-tctildr.so.0
#8  0x0000555555564367 in ??? ()
#9  0x00007ffff7d4989d in ??? () at /usr/lib64/libglib-2.0.so.0
#10 0x00007ffff7a66ed3 in ??? () at /usr/lib64/libc.so.6
#11 0x00007ffff7ae9cac in ??? () at /usr/lib64/libc.so.6
Comment 4 Christopher Byrne 2024-03-22 03:42:00 UTC
Created attachment 888122 [details]
Full backtrace of tpm2-abrmd with debug info
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-24 10:25:10 UTC
Can you try UBSAN?
Comment 6 Christopher Byrne 2024-03-24 16:26:07 UTC
Yup, I get this:

src/ipc-frontend.c:73:5: runtime error: call to function ipc_frontend_dbus_connect through pointer to incorrect function type 'void (*)(struct _IpcFrontend *, union _GMutex *)'
/var/tmp/portage/app-crypt/tpm2-abrmd-3.0.0-r2/work/tpm2-abrmd-3.0.0/src/ipc-frontend-dbus.c:636: note: ipc_frontend_dbus_connect defined here
    #0 0x5572615d259e in ipc_frontend_connect /var/tmp/portage/app-crypt/tpm2-abrmd-3.0.0-r2/work/tpm2-abrmd-3.0.0/src/ipc-frontend.c:73:5
    #1 0x5572615d17d5 in init_thread_func /var/tmp/portage/app-crypt/tpm2-abrmd-3.0.0-r2/work/tpm2-abrmd-3.0.0/src/tabrmd-init.c:170:5
    #2 0x7f8f0460589c in g_thread_proxy /var/tmp/portage/dev-libs/glib-2.78.3/work/glib-2.78.3-abi_x86_64.amd64/../glib-2.78.3/glib/gthread.c:831:20
    #3 0x7f8f04190ed2  (/usr/lib64/libc.so.6+0x87ed2)
    #4 0x7f8f04213cab  (/usr/lib64/libc.so.6+0x10acab)