[Bug 1906617] Re: Anacron prevents shutdown while a job is running. Some packages install long-running jobs.
Launchpad Bug Tracker
1906617 at bugs.launchpad.net
Sat May 18 13:55:48 UTC 2024
Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: mlocate (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mlocate in Ubuntu.
https://bugs.launchpad.net/bugs/1906617
Title:
Anacron prevents shutdown while a job is running. Some packages
install long-running jobs.
Status in anacron package in Ubuntu:
Confirmed
Status in mlocate package in Ubuntu:
Confirmed
Bug description:
I encountered this issue with Anacron and the mlocate package. One of
the daily jobs which mlocate installs is a job which runs
`updatedb.mlocate` to update its search index. This job goes through
the entire filesystem tree, which, as you would expect, can be a
fairly long-running process.
When the system shuts down, anacron is sent a SIGUSR1 signal,
indicating a graceful shutdown; anacron will exit, but only after all
tasks are done. Since one of the daily tasks is long-running, the task
likely won't finish within the 90 second window provided by systemd.
This means that, fairly often, my shutdowns are delayed by 90 seconds
for no good reason; nothing would break if the updatedb.mlocate job
was interrupted, and it's going to be interrupted anyways once its 90
seconds are up.
Personally, I think the best solution here is to somehow get Anacron
to send a SIGTERM signal to its jobs when the system shuts down. This
would delegate responsibility to the job itself. A super critical job
which _has_ to complete before shutdown could catch the SIGTERM signal
and cleanly exit, while other jobs which don't really care (such as
updatedb.mlocate) could just terminate in response to SIGTERM.
The alternative solution would be to ensure that no package will ever
install a potentially long-running cron job. I don't know how
realistic this is. The mlocate package, for example, would find some
other way to periodically trigger an updatedb in a way which doesn't
block shutdown (it could, for example, install a systemd timer instead
of a cron job).
As a partial solution, one should consider adding some logging to
anacron, which makes it print messages like "Waiting for <job name> to
shut down..." so that the issue can be debugged. I would've been much
less frustrated by this issue over the past few months if the message
I saw while shutting down was "anacron: Waiting for job mlocate to
terminate..." rather than just "A stop job is running for Run anacron
jobs".
I want to clarify that this isn't "just" an issue with mlocate, but an
issue with every package which uses cron jobs to run potentially long
running jobs. Fixing the mlocate package would treat the particular
symptom I'm experiencing, but I'm sure there are many other packages
which install potentially long running cron jobs.
ProblemType: Bug
DistroRelease: Ubuntu 20.10
Package: anacron 2.3-29
ProcVersionSignature: Ubuntu 5.8.0-31.33-generic 5.8.17
Uname: Linux 5.8.0-31-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu50.2
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Thu Dec 3 09:01:15 2020
InstallationDate: Installed on 2019-09-14 (445 days ago)
InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Release amd64 (20190416)
SourcePackage: anacron
UpgradeStatus: Upgraded to groovy on 2020-09-05 (88 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/anacron/+bug/1906617/+subscriptions
More information about the foundations-bugs
mailing list