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

Bug#977984: cron.d and cron.daily jobs may run in parallel and conflict



Package: popularity-contest
Version: 1.70
Severity: important

From time to time I've been seeing cron failure mails relating to
popularity-contest on my laptop.  I have seen this with both Vixie
cron and systemd-cron.

Today I opened my laptop at around 17:53, and systemd-cron started
running cron jobs that were scheduled to run during the time it was
suspended.  That included both cron.d and cron.daily jobs for
popularity-contest:

# systemctl status cron-popularity-contest-root-0.service
● cron-popularity-contest-root-0.service - [Cron] "10 5 * * * root test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond"
     Loaded: loaded (/etc/cron.d/popularity-contest; generated)
     Active: inactive (dead) since Wed 2020-12-23 17:53:54 CET; 3h 12min ago
TriggeredBy: ● cron-popularity-contest-root-0.timer
       Docs: man:systemd-crontab-generator(8)
    Process: 97570 ExecStart=/bin/sh /run/systemd/generator/cron-popularity-contest-root-0.sh (code=exited, status=0/SUCCESS)
   Main PID: 97570 (code=exited, status=0/SUCCESS)

Dec 23 17:53:49 deadeye systemd[1]: Starting [Cron] "10 5 * * * root test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond"...
Dec 23 17:53:54 deadeye popularity-contest[97891]: unable to submit report to http://popcon.debian.org/cgi-bin/popcon.cgi.
Dec 23 17:53:54 deadeye systemd[1]: cron-popularity-contest-root-0.service: Succeeded.
Dec 23 17:53:54 deadeye systemd[1]: cron-popularity-contest-root-0.service: Unit process 97896 (exim4) remains running after unit stopped.
Dec 23 17:53:54 deadeye systemd[1]: Finished [Cron] "10 5 * * * root test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond".
# systemctl status cron-daily.service
● cron-daily.service - systemd-cron daily script service
     Loaded: loaded (/lib/systemd/system/cron-daily.service; static)
     Active: failed (Result: exit-code) since Wed 2020-12-23 17:53:55 CET; 3h 8min ago
       Docs: man:systemd.cron(7)
    Process: 97569 ExecStartPre=/lib/systemd-cron/boot_delay 5 (code=exited, status=0/SUCCESS)
    Process: 97615 ExecStart=/bin/run-parts --report /etc/cron.daily (code=exited, status=1/FAILURE)
   Main PID: 97615 (code=exited, status=1/FAILURE)

Dec 23 17:53:50 deadeye runuser[97819]: pam_unix(runuser:session): session opened for user www-data by (uid=0)
Dec 23 17:53:50 deadeye runuser[97819]: pam_unix(runuser:session): session closed for user www-data
Dec 23 17:53:55 deadeye run-parts[97615]: /etc/cron.daily/popularity-contest:
Dec 23 17:53:55 deadeye run-parts[97615]: gpg: can't open '/var/log/popularity-contest.new': No such file or directory
Dec 23 17:53:55 deadeye run-parts[97615]: gpg: /var/log/popularity-contest.new: encryption failed: No such file or directory
Dec 23 17:53:55 deadeye run-parts[97615]: run-parts: /etc/cron.daily/popularity-contest exited with return code 2
Dec 23 17:53:55 deadeye systemd[1]: cron-daily.service: Main process exited, code=exited, status=1/FAILURE
Dec 23 17:53:55 deadeye systemd[1]: cron-daily.service: Failed with result 'exit-code'.
Dec 23 17:53:55 deadeye systemd[1]: Failed to start systemd-cron daily script service.
Dec 23 17:53:55 deadeye systemd[1]: cron-daily.service: Triggering OnFailure= dependencies.

This seems to be likely to happen on any system that remains suspended
across the times of both cron jobs.  Some kind of serialisation is
required, so that only one job at a time will manipulate the log
files.

Ben.

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.9.0-4-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages popularity-contest depends on:
ii  debconf [debconf-2.0]  1.5.74
ii  dpkg                   1.20.5

Versions of packages popularity-contest recommends:
ii  exim4-daemon-light [mail-transport-agent]  4.94-9+b1
ii  gnupg                                      2.2.20-1
ii  systemd-cron [cron-daemon]                 1.5.15-1

Versions of packages popularity-contest suggests:
ii  systemd-cron [anacron]  1.5.15-1
pn  tor                     <none>
ii  torsocks                2.3.0-3

-- debconf-show failed

Reply to: