Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923411 - app-crypt/tpm2-abrmd-3.0.0-r2 fails tests (hang)
Summary: app-crypt/tpm2-abrmd-3.0.0-r2 fails tests (hang)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Christopher Byrne
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: systemwide-clang 915000 923412
  Show dependency tree
 
Reported: 2024-01-31 10:24 UTC by Agostino Sarubbo
Modified: 2024-05-22 17:11 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,353.16 KB, text/plain)
2024-01-31 10:24 UTC, Agostino Sarubbo
Details
Full backtrace of tpm2-abrmd with debug info (tpm2-abrmd-bt.txt,5.16 KB, text/plain)
2024-03-22 03:42 UTC, Christopher Byrne
Details

Note You need to log in before you can comment on or make changes to this bug.
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)
Comment 7 Larry the Git Cow gentoo-dev 2024-05-22 17:11:40 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f425b156d1ce0e2607795ee14facd8fb98e4642b

commit f425b156d1ce0e2607795ee14facd8fb98e4642b
Author:     Christopher Byrne <salah.coronya@gmail.com>
AuthorDate: 2024-05-22 16:44:59 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-05-22 17:10:21 +0000

    app-crypt/tpm2-tss: Hide write_all symbol to fix tpm2-abrmd crash on clang/lld
    
    Closes: https://bugs.gentoo.org/923411
    Closes: https://bugs.gentoo.org/923412
    Signed-off-by: Christopher Byrne <salah.coronya@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/36777
    Signed-off-by: Sam James <sam@gentoo.org>

 .../tpm2-tss-4.0.2-Hide-write-all-function.patch   |  24 +++++
 app-crypt/tpm2-tss/tpm2-tss-4.0.2-r1.ebuild        | 110 +++++++++++++++++++++
 2 files changed, 134 insertions(+)