Bug#1121708: various dictd dictionaries: installing or removing several dictionaries at once triggers systemd restart rate limit
Package: dictd,dict-cc-cedict,dict-devil,dict-elements,dict-foldoc,dict-gcide,dict-jargon,dict-freedict-afr-deu,dict-freedict-cat-eng,dict-vera,dict-wn
Severity: important
Tags: forky sid
== Description
When installing several (at least 6) dictionaries at once,
installation fails while executing post installation scripts:
# lsb_release -d
Description: Debian GNU/Linux forky/sid
# apt install dictd dict-vera dict-elements dict-jargon dict-web1913 dict-wn dict-foldoc dict-devil
[...]
Setting up dict-gcide (0.48.5+nmu4) ...
Setting up dict-jargon (4.4.7-5) ...
Setting up dict-devil (1.0-13.1) ...
Setting up dict-foldoc (20250211-1) ...
Setting up dict-elements (20240910094116-1) ...
invoke-rc.d: initscript dictd, action "restart" failed.
× dictd.service - Dictd dictionary server daemon
Loaded: loaded (/usr/lib/systemd/system/dictd.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sun 2025-11-30 23:08:23 CET; 26ms ago
Duration: 33ms
Invocation: 1b39128f7cb64998b48e11101b27a807
Docs: man:dictd(8)
man:dictdconfig(8)
Process: 137240 ExecStart=/usr/sbin/dictd $DICTD_ARGS --pid-file=/run/dictd/dictd.pid (code=exited, status=0/SUCCESS)
Main PID: 137242 (code=exited, status=143)
Mem peak: 33.8M
CPU: 23ms
Nov 30 23:08:23 ? systemd[1]: Starting dictd.service - Dictd dictionary server daemon...
Nov 30 23:08:23 ? systemd[1]: Started dictd.service - Dictd dictionary server daemon.
Nov 30 23:08:23 ? systemd[1]: Stopping dictd.service - Dictd dictionary server daemon...
Nov 30 23:08:23 ? systemd[1]: dictd.service: Main process exited, code=exited, status=143/n/a
Nov 30 23:08:23 ? systemd[1]: dictd.service: Failed with result 'exit-code'.
Nov 30 23:08:23 ? systemd[1]: Stopped dictd.service - Dictd dictionary server daemon.
Nov 30 23:08:23 ? systemd[1]: dictd.service: Start request repeated too quickly.
Nov 30 23:08:23 ? systemd[1]: dictd.service: Failed with result 'exit-code'.
Nov 30 23:08:23 ? systemd[1]: Failed to start dictd.service - Dictd dictionary server daemon.
dpkg: error processing package dict-elements (--configure):
installed dict-elements package post-installation script subprocess returned error exit status 1
[...]
The same rate limit is hit when removing or purging packages.
I believe that this can be fixed by using `invoke-rc.d reload` instead
of `restart` (or instead of `start` followed by `stop` in some cases),
because systemd doesn't limit the number of reloads.
== Meta
- I'm including `dictd` because it provides the service in question,
but I don't believe that that's a good place to fix it.
- For `dict-vera`, `dict-wn`, and `dictd` this is a duplicate of #1066189,
but I don't want to expand the scope of somebody else's bug report.
- I've included only one dictionary package per source package, but,
for example, all freedict dictionaries are affected equally.
- The `mueller7-dict` package is notable for using `force-reload`, so
it's not affected.
Reply to: