GNU bug report logs - #45202
pcscd service doesn't respond to SIGTERM

Previous Next

Package: guix;

Reported by: Raffael Stocker <r.stocker <at> mnet-mail.de>

Date: Sat, 12 Dec 2020 19:24:01 UTC

Severity: normal

Done: Brice Waegeneire <brice <at> waegenei.re>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Brice Waegeneire <brice <at> waegenei.re>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#45202: closed (pcscd service doesn't respond to SIGTERM)
Date: Sat, 03 Jul 2021 18:26:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 03 Jul 2021 20:25:39 +0200
with message-id <87v95rcl0c.fsf_-_ <at> waegenei.re>
and subject line Re: bug#45202: pcscd service doesn't respond to SIGTERM
has caused the debbugs.gnu.org bug report #45202,
regarding pcscd service doesn't respond to SIGTERM
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
45202: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=45202
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Raffael Stocker <r.stocker <at> mnet-mail.de>
To: bug-guix <at> gnu.org
Subject: pcscd service (pcsc-lite) doesn't handle run directory properly
Date: Sat, 12 Dec 2020 15:31:22 +0100
Hi,

I use the pcsc-lite package and noticed that the pcscd service is
sometimes not started by shepherd/herd.  If it is started, "herd start
pcscd" gives me the following error message (sorry for the german part):

> herd: Ausnahmefehler während der Ausführung von »start« mit dem Dienst »pcscd«:
> In procedure open-file: No such file or directory: "/var/run/pcscd/pcscd.pid"

The reason seems to be that pcsc-lite creates its pid file in
"/run/pcscd/", but herd expects it in "/var/run/pcscd/".  This leads to
the service not being started when the files in "/run/pcscd/" have not
been cleaned up (or so my interpretation).  In this case, I get the
error message:

> herd: Ausnahmefehler während der Ausführung von »start« mit dem Dienst »pcscd«:
> Throw to key `%exception' with args `("#<&invoke-error program:
> \"/gnu/store/r1yd6czv3r0is0a1gfsrix3gslkba80v-pcsc-lite-1.9.0/sbin/pcscd\"
> arguments: () exit-status: 1 term-signal: #f stop-signal: #f>")'. 

If I delete the "/run/pcscd" directory, the daemon will be started,
although with the first error message from above.

I have been using guix for only a week now and don't know how to edit
service definitions etc., but maybe someone more competent could have a
look at this.

Regards,
Raffael


[Message part 3 (message/rfc822, inline)]
From: Brice Waegeneire <brice <at> waegenei.re>
To: Raffael Stocker <r.stocker <at> mnet-mail.de>
Cc: Tobias Geerinckx-Rice <me <at> tobias.gr>, 45202-done <at> debbugs.gnu.org
Subject: Re: bug#45202: pcscd service doesn't respond to SIGTERM
Date: Sat, 03 Jul 2021 20:25:39 +0200
Hello Raffael,

Raffael Stocker <r.stocker <at> mnet-mail.de> writes:

> Interesting indeed.  From looking at the source of pcsc-lite (main() in
> pcscdaemon.c) it seems it's not modifying its sigmask.  IIRC, child
> processes inherit the parent's ignored signals, so if shepherd is
> ignoring SIGTERM before a fork() and not resetting to default before an
> exec(), pcscd will never receive the SIGTERM.  This might explain the
> behaviour.  I have not checked shepherd's source to confirm.
>
> If this is so, it should probably be fixed in shepherd, right?

Thank yu for the analysis of the issue, it helped me a lot to fix it.
The sheperd pcscd serice wasn't using the correct procedure to start the
daemon, it is fixed in e789ce538ed848bacb8f4eb5742f78b965ccf57c.

Cheers,
- Brice


This bug report was last modified 3 years and 324 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.