systemd locks up due to incorrect handling of time zone changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Fedora) |
Unknown
|
Unknown
|
|||
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
This bug can cause systemd timers to lock up systems using the Europe/Dublin timezone if certain OnCalendar values are used. If the timer is enabled at boot, this bug prevents the system from booting. If the timer is started later, systemd becomes unresponsive.
[Test Plan]
* Create a systemd service and corresponding timer scheduled for 01:00 on Sundays:
$ cat /etc/systemd/
[Unit]
Description=LP 1966800 reproducer
[Timer]
OnCalendar=Sun *-*-* 01:00:00
Persistent=true
[Install]
WantedBy=
$ cat /etc/systemd/
[Service]
ExecStart=
$ systemctl daemon-reload
* Set the date to 21 March, 2021 in the Europe/Dublin timezone (need to disable NTP first):
$ timedatectl set-ntp false
$ timedatectl set-time "2021-03-21"
$ timedatectl set-timezone Europe/Dublin
* Try to start the timer, and observe that systemd becomes unresponsive. This command will time out, as will `systemctl status` etc.
$ systemctl start lp-1966800-
[Where problems could occur]
The patch makes changes in the calendar spec code, which is used by systemd timers to determine the next time to trigger a timer. If this patch breaks something, it would be related to the triggering of systemd timers.
[Original Description]
Recently on systems in Ireland, systemd became unresponsive due the change from GMT to Irish Standard Time. This is due to Ireland being unique in having their standard time during the summer, unlike most regions.
Related to: https:/
Fixed by: https:/
Related branches
- Lukas Märdian: Approve
-
Diff: 170 lines (+142/-0)4 files modifieddebian/changelog (+11/-0)
debian/patches/lp1959475-core-make-sure-we-don-t-get-confused-when-setting-TERM-fo.patch (+34/-0)
debian/patches/lp1966800-shared-calendarspec-when-mktime-moves-us-backwards-jump-f.patch (+95/-0)
debian/patches/series (+2/-0)
tags: | added: rls-jj-incoming |
tags: | removed: rls-jj-incoming |
tags: | added: fr-2227 |
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.