Control: tags -1 + moreinfo
On Sun, Jun 22, 2025 at 01:17:23PM +0200, Vincent Lefevre wrote:
> I got the following error in the logs:
>
> Jun 21 13:25:30 qaa spamd[1978]: replacetags: regexp compilation failed for
> __HOURS_DEADLINE: '(?aa)(?i)(?:^|\\s)(?:(?:(?:[gGk]|[\\xc4]...
>
> with a regexp that takes several hundreds of lines.
I'm not seeing this behavior. With a fresh installation, I see the
following:
root@satest:~# apt policy spamassassin spamd
spamassassin:
Installed: (none)
Candidate: 4.0.1-4
Version table:
4.0.1-4 500
500 mirror+file:/etc/apt/mirrors/debian.list sid/main amd64 Packages
spamd:
Installed: (none)
Candidate: 4.0.1-4
Version table:
4.0.1-4 500
500 mirror+file:/etc/apt/mirrors/debian.list sid/main amd64 Packages
root@satest:~# apt install -y spamassassin spamd
Installing:
spamassassin spamd
...
Setting up spamassassin (4.0.1-4) ...
Setting up sa-compile (4.0.1-4) ...
Running sa-compile (may take a long time)
Setting up spamd (4.0.1-4) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/spamd.service' →
'/usr/lib/systemd/system/spamd.service'.
Setting up liblwp-protocol-https-perl (6.14-1) ...
Setting up libwww-perl (6.78-1) ...
Setting up libxml-parser-perl (2.47-1+b3) ...
Setting up libxml-sax-expat-perl (0.51-2) ...
update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::Expat with
priority 50...
update-perl-sax-parsers: Updating overall Perl SAX parser modules info file...
Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version
Processing triggers for libc-bin (2.41-9) ...
Processing triggers for man-db (2.13.1-1) ...
root@satest:~# journalctl -t spamd
Jun 22 13:29:57 satest spamd[4429]: zoom: able to use 399/399 'body_0' compiled
rules (100%)
Jun 22 13:29:58 satest spamd[4429]: spamd: server started on IO::Socket::IP
[::1]:783, IO::Socket::IP [127.0.0.1]:783 (runni>
Jun 22 13:29:58 satest spamd[4429]: spamd: server pid: 4429
Jun 22 13:29:58 satest spamd[4429]: spamd: server successfully spawned child
process, pid 4516
Jun 22 13:29:58 satest spamd[4429]: spamd: server successfully spawned child
process, pid 4517
Jun 22 13:29:58 satest spamd[4429]: prefork: child states: II
and
root@satest:~# runuser -u nobody -- spamassassin --lint
root@satest:~# echo $?
0
I also don't see it on upgrade from -3 in trixie, but I do see a couple
of unexpected things:
Setting up sa-compile (4.0.1-4) ...
Running sa-compile (may take a long time)
Warning: The unit file, source configuration file or drop-ins of spamd.service
changed on disk. Run 'systemctl daemon-reload'
to reload units.
Setting up spamd (4.0.1-4) ...
Processing triggers for man-db (2.13.1-1) ...
This is unexpected because spamd.service has not changed between -3 and
-4. Did you see the same message when upgrading the spamd package?
After that, I see the same issues with restarting the service:
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: State 'stop-sigterm' timed
> out. Killing.
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Killing process 1978 (perl)
> with signal SIGKILL.
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Killing process 362204 (spamd
> child) with signal SIGKILL.
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Killing process 362205 (spamd
> child) with signal SIGKILL.
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Main process exited,
> code=killed, status=9/KILL
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Failed with result 'timeout'.
> Jun 21 13:25:50 qaa systemd[1]: Stopped spamd.service - Perl-based spam
> filter using text analysis.
> Jun 21 13:25:50 qaa systemd[1]: spamd.service: Consumed 40.057s CPU time,
> 162.9M memory peak.
> Jun 21 13:25:50 qaa systemd[1]: Started spamd.service - Perl-based spam
> filter using text analysis.
> Jun 21 13:25:51 qaa spamd[362255]: zoom: able to use 399/399 'body_0'
> compiled rules (100%)
> Jun 21 13:25:51 qaa spamd[362255]: spamd: server started on IO::Socket::IP
> [::1]:783, IO::Socket::IP [127.0.0.1]:783 (running version 4.0.1)
> Jun 21 13:25:51 qaa spamd[362255]: spamd: server pid: 362255
> Jun 21 13:25:51 qaa spamd[362255]: spamd: server successfully spawned child
> process, pid 362281
> Jun 21 13:25:51 qaa spamd[362255]: spamd: server successfully spawned child
> process, pid 362282
> Jun 21 13:25:51 qaa spamd[362255]: prefork: child states: IS
> Jun 21 13:25:51 qaa spamd[362255]: prefork: child states: II
At this point, spamd seems to be running as expected and lint is clean:
root@satest-trixie:~# env -i LANG="$LANG" PATH="$PATH" start-stop-daemon \
--chuid debian-spamd:debian-spamd --start \
--exec /usr/bin/spamassassin -- --lint
root@satest-trixie:~# echo $?
0
So it looks like the restart issue is unrelated to the regex compile
issue. I wonder if the compile issue might be related to something
previously cached by sa-update, rather than distributed by the package.
Does it persist after manually triggering `systemctl start
spamassassin-maintenance.service`?