Subject: Re: [powerpc] Fingerprint systemd service fails to start (next-20220624)

From: Kuniyuki Iwashima <[email-masked]>
Date: Wed, 29 Jun 2022 10:47:29 -0700

From:   Sachin Sant <[email-masked]>
Date:   Tue, 28 Jun 2022 12:41:35 +0530
>>> I have attached dmesg log for reference. Let me know if any additional
>>> Information is required.
>> 
>> * Could you provide
>> * dmesg and /var/log/messages on a successful case? (without the commit)
>> * Unit file
>> * repro steps
> 
> I have attached the relevant log files. The attached tarball contains
> dmesg, /var/log/messages and strace o/p for fprintd service collected
> for working case and failure case.

Thanks for your help!

>> * Is it reproducible after login? (e.g. systemctl restart)
>> * If so, please provide
>> * the result of strace -t -ff
>> 
> Yes, the problem can be recreated after login. I have collected the strace
> logs.

I confirmed fprintd failed to launch with this message on failure case.

===
ltcden8-lp6 fprintd[2516]: (fprintd:2516): fprintd-WARNING **: 01:56:45.705: Failed to open connection to bus: Could not connect: Connection refused
===

But in the strace log of both cases, only one socket is created and
following connect() completes without an error.  And the peer socket
does not seem to be d-bus one.

===
$ cat working-case/strace-fprintd-service.log | grep "socket("
01:52:08 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
$ cat working-case/strace-fprintd-service.log | grep "socket(" -A 10
01:52:08 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
...
01:52:08 connect(3, {sa_family=AF_UNIX, sun_path="/run/systemd/private"}, 22) = 0
...
$ cat not-working-case/strace-fprintd-service.log | grep "socket("
01:58:14 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
$ cat not-working-case/strace-fprintd-service.log | grep "socket(" -A 10
01:58:14 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
...
01:58:14 connect(3, {sa_family=AF_UNIX, sun_path="/run/systemd/private"}, 22) = 0
===

So I think the error message part is not traced well.
Could you try to strace directly for the command in ExecStart section of
its unit file?

>> * Does it happen on only powerpc? How about x86 or arm64?
>> 
> I have attempted this only on powerpc. Don’t have access to arm or x86
> setup to attempt it.

I tried on my machine but fprintd launched successfully in both cases.
And few minutes later, it exited because there was no dedicated device for
fprintd, I think.

===
$ sudo systemctl status fprintd
● fprintd.service - Fingerprint Authentication Daemon
   Loaded: loaded (/usr/lib/systemd/system/fprintd.service; static; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:fprintd(1)

Jun 29 05:46:22 ip-10-0-0-163.ap-northeast-1.compute.internal systemd[1]: Starting Fingerprint Authentication Daemon...
Jun 29 05:46:22 ip-10-0-0-163.ap-northeast-1.compute.internal systemd[1]: Started Fingerprint Authentication Daemon.
Jun 29 05:46:22 ip-10-0-0-163.ap-northeast-1.compute.internal fprintd[1291]: Launching FprintObject
Jun 29 05:46:22 ip-10-0-0-163.ap-northeast-1.compute.internal fprintd[1291]: D-Bus service launched with name: net.reactivated.Fprint
Jun 29 05:46:22 ip-10-0-0-163.ap-northeast-1.compute.internal fprintd[1291]: entering main loop
Jun 29 05:46:52 ip-10-0-0-163.ap-northeast-1.compute.internal fprintd[1291]: No devices in use, exit
===