Skip to content

fix(linux): Timers Fire Again After A Reboot - #111

Merged
AndrewTKent merged 1 commit into
mainfrom
andrew/timers-fire-after-reboot
Oct 1, 2026
Merged

AndrewTKent merged 1 commit into
mainfrom
andrew/timers-fire-after-reboot

Conversation

@AndrewTKent

Copy link
Copy Markdown
Owner

Executive Summary

After a Linux box is stopped and started, its usage boards and job board stop updating until someone starts the services by hand. On photon they stayed frozen for 17 hours, so new photon jobs never showed in the statusline. This drops the setting that causes it.

Developer Summary

  • The three timer templates set Persistent=true, which only applies to OnCalendar=. With a stamp left from before a reboot, systemd treats OnBootSec= as already spent: the timer goes active (elapsed) with no next trigger, and OnUnitActiveSec= never gets a first run to count from.
  • Reproduced on systemd 255 (Ubuntu 24.04): two identical throwaway timers with OnBootSec=5 and a stamp dated before the boot. Persistent=true ran 0 times; Persistent=false ran once.
  • test/test_install_account_router.sh now fails if a Linux timer template sets Persistent=true. It failed before the fix and passes after.
  • Not run: a real reboot with the new units. The box gets them on the next install-account-router.sh.

The three systemd user timers set Persistent=true, which only serves
OnCalendar=. With a stamp left from before a reboot, systemd treats the
OnBootSec= trigger as already spent, so the timer never fires and
OnUnitActiveSec= never gets a first run to count from. On photon this
left the job board and both usage boards frozen for 17 hours after the
box was stopped and started.

Drops Persistent= from the templates; the installer test refuses it.
@AndrewTKent
AndrewTKent merged commit 18689ef into main Oct 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant