Your message dated Sat, 26 Dec 2015 09:32:11 +0100
with message-id <[email protected]>
and subject line Re: Bug#798668: pcscd removes socket which systemd uses for
autostart
has caused the Debian Bug report #798668,
regarding pcscd removes socket which systemd uses for autostart
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
798668: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798668
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: pcscd
Version: 1.8.13-1
Severity: important
Tags: upstream
systemd, in its infinite wisdom, listens to /var/run/pcscd/pcscd.comm for
connections and starts up the pcscd
service on-demand if any connections come in. However, when pcscd exits, it
"cleans" the /var/run/pcscd folder,
thus removing the pcscd.comm file. Examination of systemctl list-sockets shows
it is supposedly listening on that
socket, but with the file descriptor removed by the daemon (when it auto-exits,
or when the daemon was started
manually and then terminated), systemd will never start up the program again
because clients cannot connect to
a nonexistant FD. Additionally, when the service is started manually via
init.d scripts, the socket is not auto-
created as it is when it is run directly via the command line.
This is probably a bug both in pcscd and systemd, the former for not checking
if the socket FD exists upon startup
from systemd, and the latter for not doing the same upon shutdown of the daemon
or at least semi-periodically. The
only method I've found to re-create this socket FD is to restart the system;
obviously not an acceptable workaround.
-- System Information:
Debian Release: 8.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages pcscd depends on:
ii init-system-helpers 1.22
ii libc6 2.19-18+deb8u1
ii libgcr410 [pcsc-ifd-handler] 2.4.0-9.2
ii libpcsclite1 1.8.13-1
ii libudev1 215-17+deb8u2
ii lsb-base 4.1+Debian13+nmu1
pcscd recommends no packages.
Versions of packages pcscd suggests:
ii systemd 215-17+deb8u2
-- no debconf information
--- End Message ---
--- Begin Message ---
Hello Eric,
Le 13/09/2015 19:07, Ludovic Rousseau a écrit :
Le 11/09/2015 17:35, Eric Reischer a écrit :
Package: pcscd
Version: 1.8.13-1
Severity: important
Tags: upstream
systemd, in its infinite wisdom, listens to /var/run/pcscd/pcscd.comm for
connections and starts up the pcscd
service on-demand if any connections come in. However, when pcscd exits, it
"cleans" the /var/run/pcscd folder,
thus removing the pcscd.comm file. Examination of systemctl list-sockets shows
it is supposedly listening on that
socket, but with the file descriptor removed by the daemon (when it auto-exits,
or when the daemon was started
manually and then terminated), systemd will never start up the program again
because clients cannot connect to
a nonexistant FD. Additionally, when the service is started manually via
init.d scripts, the socket is not auto-
created as it is when it is run directly via the command line.
This is probably a bug both in pcscd and systemd, the former for not checking
if the socket FD exists upon startup
from systemd, and the latter for not doing the same upon shutdown of the daemon
or at least semi-periodically. The
only method I've found to re-create this socket FD is to restart the system;
obviously not an acceptable workaround.
If pcscd is started by systemd then the file /var/run/pcscd/pcscd.comm is NOT
removed when pcscd auto exit.
See https://anonscm.debian.org/cgit/pcsclite/PCSC.git/tree/src/pcscdaemon.c#n721
Running "/etc/init.d/pcscd" start should not break anything.
But starting pcscd by "/usr/sbin/pcscd" is NOT supported when systemd is used.
To make pcscd run again using systemd you need to do:
$ sudo systemctl stop pcscd.socket
$ sudo systemctl start pcscd.socket
See also
http://ludovicrousseau.blogspot.fr/2011/11/pcscd-auto-start-using-systemd.html
This is not a bug.
So unless you explain why an unsupported configuration should be supported I
will close this bug.
You can also propose a patch so that pcscd works as you want.
Regards,
I have no news on this bug report since 3 months.
If you think it is really a bug please re-open it with a proposed solution.
Closing it now.
Bye,
--
Dr. Ludovic Rousseau
--- End Message ---