Subject: starts w/o writing pid file, leading systemd to kill it
Date: Wed, 4 Oct 2023 14:35:32 -0400
Package: sasl2-bin
Version: 2.1.28+dfsg1-3
Severity: normal
saslauthd was not running after an upgrade.
Investigation showed this happening after systemctl start:
Oct 04 14:21:21 kite systemd[1]: Failed to start saslauthd.service - SASL Authentication Daemon.
Oct 04 14:21:21 kite systemd[1]: saslauthd.service: Failed with result 'timeout'.
Oct 04 14:21:21 kite systemd[1]: saslauthd.service: start operation timed out. Terminating.
Oct 04 14:20:21 kite saslauthd[752305]: : auth failure: [user=linda] [service=smtp] [realm=kitenet.net] [mech=sasldb] [reason=Unknown]
Oct 04 14:19:51 kite systemd[1]: saslauthd.service: Can't open PID file /run/saslauthd/saslauthd.pid (yet?) after start: No such file or directory
Oct 04 14:19:51 kite saslauthd[752305]: : listening on socket: /var/spool/postfix/var/run/saslauthd/mux
Oct 04 14:19:51 kite saslauthd[752305]: : master pid is: 752305
Oct 04 14:19:51 kite systemd[1]: Starting saslauthd.service - SASL Authentication Daemon...
/run/saslauthd/saslauthd.pid did not exist. Apparently the daemon did start
though since it was handling auth attempts.
systemctl start saslauthd actually hung while this was going on, until systemd
timed out and killed the daemon.
I have worked around this by editing /usr/lib/systemd/system/saslauthd.service
and commenting out PIDFile=/var/run/saslauthd/saslauthd.pid
Aha: I notice that the pid file is being created, but in
/var/spool/postfix/var/run/saslauthd. Apparently because I use -m to make it
put the mix file there. It seems it might be new behavior for it to write the
pid file there too? Or systemd has changed its behavior when it doesn't find a
pid file. Anyway, I think -m should not affect where it puts the pid file.
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-7-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages sasl2-bin depends on:
ii db-util 5.3.2
ii debconf [debconf-2.0] 1.5.82
ii init-system-helpers 1.65.2
ii libc6 2.37-12
ii libcrypt1 1:4.4.36-2
ii libdb5.3 5.3.28+dfsg2-2
ii libkrb5-3 1.20.1-4
ii libldap-2.5-0 2.5.13+dfsg-5
ii libpam0g 1.5.2-7
ii libsasl2-2 2.1.28+dfsg1-3
ii libssl3 3.0.11-1
ii perl 5.36.0-9
sasl2-bin recommends no packages.
sasl2-bin suggests no packages.
-- Configuration Files:
/etc/default/saslauthd changed:
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
MECHANISMS=sasldb
-- debconf information:
cyrus-sasl2/purge-sasldb2: false
cyrus-sasl2/upgrade-sasldb2-failed:
cyrus-sasl2/upgrade-sasldb2-backup-failed:
cyrus-sasl2/backup-sasldb2: /var/backups/sasldb2.bak
--
see shy jo
Subject: Re: starts w/o writing pid file, leading systemd to kill it
Date: Fri, 6 Oct 2023 01:41:37 +0200
On Wed, 4 Oct 2023 14:35:32 -0400 Joey Hess <[email protected]> wrote:
> Aha: I notice that the pid file is being created, but in
> /var/spool/postfix/var/run/saslauthd. Apparently because I use -m to make it
> put the mix file there. It seems it might be new behavior for it to write the
> pid file there too? Or systemd has changed its behavior when it doesn't find a
> pid file. Anyway, I think -m should not affect where it puts the pid file.
The upstream code just appends "/saslauthd.pid" to the mux path given by -m.
I do not think we should change that. The behaviour has changed for you because
the recently introduced systemd service has a fixed PIDFile path while the System V
init script takes -m into account for the pid file path.
Information stored
: Bug#1053472; Package sasl2-bin.
(Sat, 13 Jan 2024 19:24:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Joey Hess <[email protected]>:
Extra info received and filed, but not forwarded.
(Sat, 13 Jan 2024 19:24:02 GMT) (full text, mbox, link).
Bastian Germann wrote:
> The upstream code just appends "/saslauthd.pid" to the mux path given by -m.
> I do not think we should change that. The behaviour has changed for you because
More accurately, the behavior has changed to utterly broken to anyone
using this package in its default configuration. And it's been unfixed
for 3 months now.
--
see shy jo
Bastian Germann wrote:
> If you think it is broken, please file a patch. Thanks.
Is this package maintained only by its users sending in patches?
--
see shy jo
Acknowledgement sent
to Joey Hess <[email protected]>:
Extra info received and forwarded to list. Copy sent to Debian Cyrus Team <[email protected]>.
(Mon, 15 Jan 2024 16:51:03 GMT) (full text, mbox, link).
Correction: Not the default configuration per se, just the configuration
that is necessary to interoperate with the default (chrooted)
configuration of postfix.
--
see shy jo
Subject: Re: Bug#1053472: starts w/o writing pid file, leading systemd to kill
it
Date: Mon, 15 Jan 2024 18:55:28 +0100
Am 15.01.24 um 17:35 schrieb Joey Hess:
> Bastian Germann wrote:
>> If you think it is broken, please file a patch. Thanks.
>
> Is this package maintained only by its users sending in patches?
No. But you are the only one reporting it to be broken, and have a very specific use case that I do not use.
And as you were a DD yourself, you are knowledgable enough to hand in a patch.
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.