[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: