Bug 8295 - gsd-smartcard may inhibit user experience
Summary: gsd-smartcard may inhibit user experience
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Smart card (show other bugs)
Version: 4.14.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
Depends on:
Reported: 2024-01-26 10:03 CET by Tobias
Modified: 2024-02-13 13:10 CET (History)
1 user (show)

See Also:
Acceptance Criteria:

gsd-smartcard crash log (576.67 KB, text/plain)
2024-02-13 12:40 CET, Alexander Zeijlon

Description Tobias cendio 2024-01-26 10:03:18 CET
There's a process called gsd-smartcard -- a plugin for the GNOME settings daemon
-- which has a tendency in particular on newer dists, e.g. Ubuntu22.04 and
RHEL9, to constantly talk to the exported smartcard reader. It's evident from
the intensely blinking LED activity indicator and from inspecting the ThinLinc
pcsctun process on the client machine with gdb, where there's an endless stream
of threading,

> [New Thread 0x7f2324fce6c0 (LWP 482494)]
> [Thread 0x7f2324fce6c0 (LWP 482494) exited]
> [New Thread 0x7f2324fce6c0 (LWP 482495)]
> [Thread 0x7f2324fce6c0 (LWP 482495) exited]
> [New Thread 0x7f2324fce6c0 (LWP 482496)]
> [Thread 0x7f2324fce6c0 (LWP 482496) exited]
> [New Thread 0x7f2324fce6c0 (LWP 482497)]
> [Thread 0x7f2324fce6c0 (LWP 482497) exited]
This is not the case for an older dist such as Ubuntu20.04, where we could only
observe this activity temporarily while actually interacting with the smartcard.

If one for instance wants to read the smartcard certificates in the session, the
request is much slower on Ubuntu 22.04 compared to Ubuntu 20.04. Furthermore,
while the request is being handled, seemingly unrelated applications on the
client machine such as Firefox are significantly slowed down.

Killing the gsd-smartcard process on the server for the affected user seems to
have only positive effects on the smartcard usage, speeding up all related
operations as a result. Inspecting the pcsctun process on the client machine
confirms it has returned to its intended behaviour.
Comment 1 Tobias cendio 2024-01-26 10:03:54 CET
Under some circumstances where the smartcard-related processes hanged, we could
observe a lingering ThinLinc pcsctun process on the client machine after having
managed to log out. However, we were not able to consistently reproduce this.
Comment 2 Tobias cendio 2024-01-26 10:08:44 CET
(In reply to Tobias from comment #0)

This was tested using ThinLinc server versions 4.15.0 and 4.16.0rc2 on RHEL9, Ubuntu20.04, and Ubuntu22.04, and corresponding clients on Fedora39.
Comment 3 Alexander Zeijlon cendio 2024-02-13 11:54:11 CET
I tested this with Ubuntu installed on one of our workstations. The issue occurs when connecting through ThinLinc, but not when logging in locally.

When in the ThinLinc session, I can reinsert the card and the frequent reads resume (can be seen as a blinking status led on the card reader). There were also a couple of times when I could not read at all from the card reader until I had reinserted the card at least once.
Comment 4 Alexander Zeijlon cendio 2024-02-13 12:40:34 CET
Created attachment 1178 [details]
gsd-smartcard crash log

At one point, gsd-smartcard crashed when I removed the card from the reader (in a session). See attached log.

It states that:
> You have some obsolete package versions installed. Please upgrade the
> following packages and check if the problem still occurs:
>   coreutils, libip4tc2
These packages were then updated, and I have not seen the same crash since. Not sure if this is related to our issue.

Note You need to log in before you can comment on or make changes to this bug.