#996971 systemd: clamav service units fail with StandardOutput=syslog

Package:
clamav-daemon
Source:
clamav
Description:
anti-virus utility for Unix - scanner daemon
Submitter:
"Brown, Thomas"
Date:
2021-10-21 21:51:02 UTC
Severity:
important
#996971#5
Date:
2021-10-21 16:48:22 UTC
From:
To:
Dear Maintainer,


With the default clamav buster version, 103, the service unit field
StandardOutput is set to syslog in clamav-daemon.service and
clamav-freshclam.service.  This ends up causing the following type of
error messages...

systemd[1]: Condition check resulted in Clam AntiVirus userspace daemon
being skipped.

which degrades the system performance significantly.

The field has been removed in clamav version 104 and an additional
message indicate that this field is problematic...

Oct 15 13:47:18 oct-test systemd[1]:
/lib/systemd/system/clamav-daemon.service:12:
Standard output type syslog is obsolete, automatically updating to
journal.
Please update your unit file, and consider removing the setting
altogether.

The only way to effectively address this problem appears to be removing
it from the service unit definition files under /lib. Using overrides
does not appear to correct this problem.

#996971#10
Date:
2021-10-21 18:14:44 UTC
From:
To:
Not sure why you filed this against the systemd package when the service
file in question is shipped by clamav-daemon.
Reassigning accordingly.


Am 21.10.21 um 18:48 schrieb Brown, Thomas:

You can always override it by using a full copy in /etc/systemd/system/
or a drop-in snippet in /etc/systemd/system/clamav-daemon.service.d/

#996971#19
Date:
2021-10-21 18:42:09 UTC
From:
To:
[always CC the bug report email address on replies]

Am 21.10.21 um 20:25 schrieb Brown, Thomas:

This condition is specified by the clamav-daemon.service though.
I assume this means that the clamav daemon package is not properly
set-up. not an issue of systemd.

#996971#24
Date:
2021-10-21 20:00:22 UTC
From:
To:
Am 21.10.2021 um 20:42 schrieb Michael Biebl:

Your service fails to start or rather is not started by systemd, as the
condition(s) specified in

https://sources.debian.org/src/clamav/0.103.3+dfsg-1/clamd/clamav-daemon.service.in/



# Check for database existence
ConditionPathExistsGlob=@DBDIR@/main.{c[vl]d,inc}
ConditionPathExistsGlob=@DBDIR@/daily.{c[vl]d,inc}

is not met.

The log message about StandardOutput=syslog is just a warning but does
not make the service fail.

#996971#29
Date:
2021-10-21 21:39:43 UTC
From:
To:
Ok, but is there a way to throttle or stagger the condition checks so
that they only happen once every 5 minutes for example?

This problem seems similar to https://github.com/systemd/systemd/issues/2467

Additionally I should be able to remove StandardOutput from the
clamav-daemon.service configuration by removing it from the service unit
definition in /etc/systemd/system/ but it still appears to be present or
in effect because the Condition check error is still seen in this case
but not when removed from the service unit definition in
/lib/systemd/system/.

Finally it would appear that repeated condition check failures are
resulting in a system reboot in the ConditionPathExistsGlob case.  Is
there a recommended configuration to prevent this from happening?