Activity log for bug #1650688

Date Who What changed Old value New value Message
2016-12-16 23:22:24 Tony Espy bug added bug
2017-02-09 22:07:53 Tony Espy snappy: status New Confirmed
2017-03-16 14:52:17 Pat McGowan snappy: importance Undecided High
2017-03-16 14:52:17 Pat McGowan snappy: assignee Oliver Grawert (ogra)
2017-03-20 18:01:59 Pat McGowan snappy: status Confirmed Fix Released
2017-03-21 15:26:01 David Barth bug added subscriber Justin McPherson
2017-03-22 20:09:14 Pat McGowan snappy: status Fix Released Confirmed
2017-03-28 22:18:48 Tony Espy tags hwe
2017-03-30 08:20:17 Michael Vogt attachment added Retry locatime symlink in a non-atomic way (untested) https://bugs.launchpad.net/snappy/+bug/1650688/+attachment/4850357/+files/retry-non-atomic.diff
2017-04-20 21:02:50 Renat bug added subscriber Kyle Nitzsche
2017-04-20 21:03:01 Renat bug added subscriber Ara Pulido
2017-04-20 21:03:11 Renat bug added subscriber Sergey Borovkov
2017-05-12 14:54:55 Oliver Grawert snappy: status Confirmed In Progress
2017-05-17 12:43:02 Michael Vogt snappy: status In Progress Fix Committed
2019-04-17 17:54:32 Zygmunt Krynicki snappy: status Fix Committed New
2019-09-25 16:01:57 Zygmunt Krynicki snappy: status New Triaged
2020-07-02 18:19:45 Oliver Grawert snappy: assignee Oliver Grawert (ogra)
2020-08-03 11:09:47 Michael Vogt attachment added proposed systemd/focal patch to fix the issue https://bugs.launchpad.net/snappy/+bug/1650688/+attachment/5398247/+files/timedatectl-lp1650688.diff
2021-09-28 17:03:48 Launchpad Janitor merge proposal linked https://code.launchpad.net/~peat-new/ubuntu/+source/systemd/+git/systemd/+merge/409312
2021-09-28 17:05:38 Launchpad Janitor merge proposal linked https://code.launchpad.net/~peat-new/ubuntu/+source/systemd/+git/systemd/+merge/409313
2021-09-28 17:06:23 Launchpad Janitor merge proposal linked https://code.launchpad.net/~peat-new/ubuntu/+source/systemd/+git/systemd/+merge/409314
2021-09-28 17:17:52 Ratchanan Srirattanamet description On a system running UC16, the file /etc/localtime is a link that points to /etc/writable/localtime. On a freshly installed system, /etc/writable/localtime is a fully-qualified link that points at /usr/share/zoneinfo/UTC. If timedatectl is used to set the timezone to something else, timedated updates the localtime symbolic link with a relative path to the zoneinfo directory, which results in an invalid link. $ sudo timedatectl set-timezone America/Detroit $ sudo timedatectl Local time: Fri 2016-12-16 18:18:49 EST Universal time: Fri 2016-12-16 23:18:49 UTC RTC time: Fri 2016-12-16 23:18:49 Time zone: America/Detroit (EST, -0500) Network time on: yes NTP synchronized: yes RTC in local TZ: no $ ls -l /etc/writable/localtime /etc/writable/localtime --> ../usr/share/zoneinfo/America/Detroit admin@localhost:/etc/writable$ date Fri Dec 16 23:20:07 UTC 2016 I'm running the latest core snap from the candidate channel which contains snapd 2.18.1. Hardware details and/or more debug information can be supplied on request. See 'man 3 timezone' and 'man timedatectl' for more details. Impish feature freeze bug fix (sort of) exception request ========================================================= I (Ratchanan) would like ubuntu-release to verify if the proposed merge for Impish qualify as a bug fix per [1]. Strictly speaking, as there's no core snap from an interim release, this issue doesn't directly effect Impish. However, to comply with the SRU requirement, and to let the patches carry to the 22.04 release, I would like this to be included in Impish. One of the patch has a small possibility to create a problem on classic systems, so testing in a development release is a good idea. Note that one can simulate core snap's /etc/writable redirection by running this image creation hook [2] on the system. [1] https://wiki.ubuntu.com/FreezeExceptionProcess#FeatureFreeze_for_bugfix-only_updates [2] https://git.launchpad.net/livecd-rootfs/tree/live-build/ubuntu-core/hooks/08-etc-writable.chroot?h=ubuntu/focal --------------------- SRU === [Impact] * The bug prevents timedated from recognizing and correctly set the system's timezone when running Ubuntu Core 16, 18 and 20. * This causes by timedated fails to take Ubuntu Core's /etc/writable redirection into account. * The recognizing part is fixed by making the code take writable redirection into account. * The set part is fixed by making the code link to the absolute path instead of a relative one. * Currently core snaps worked around the set part by providing a wrapper script which re-create /etc/writable/localtime afterward. However this does not cover DBus users. [Test Plan] * On classics systems: ensure the proposed systemd package is installed. On Ubuntu Core systems: build a new core snap including proposed package, and install it. Replaces timedatectl with timedatectl.real to test skipping the wrapper. * On freshly boot system: query the timezone using `timedatectl`. The timezone should corresponds to `readlink -f /etc/localtime` and does not show `n/a`. * Set a new timezone: `sudo timedatectl set-timezone Asia/Bangkok`. `readlink -f /etc/localtime` should points to an existing file. * Run `sudo systemctl restart systemd-timedated.service`. Then, query the timezone again: `timedatectl`. It should show the previously set timezone and not `n/a`. * Run `sudo systemctl status systemd-timedated.service`. This should show no sign of timedated crashing. [Where problems could occur] * It's possible that the redirection handling code will be sub-par and causes crash. However, it's not likely because the similar pieces of code is in the previous patch since Ubuntu 16.04. * If it does: the patched `get_timezone()` function is used in 2 places: the networkd's DHCP server [3] and the timedated itself. - Networkd is used primarily on servers where NetworkManage is absent. It's possible that this patch causes the user to loss access to the server due to networkd crash when setting up network interfaces, and requires physical access to fix. However, the code path is executed when DHCP is enabled only. I think it's not common for users to have networkd's DHCP server enabled: the feature seems to gear towards desktop users wanting to share internet connection, and in those cases they're more likely to use NetworkManager. - The timedated itself is likely used by the programs that involves in time-related functions. If a crash occur, in the worst case users won't be able to set time or timezone via timedated. However, users should still be able to e.g. set time using `date` or set timezone using /etc/localtime (assuming online guides still consider systems without systemd). Timedated is DBus-activated, and thus a crash should be self-healing. * The set part would also affects the clasic systems. However, I believe nothing else actually rely on /etc/localtime being a relative path, otherwise the /etc/writable redirection would causes even more problem, and would have been reported. [3] Yes, I'm surprised that there's a DHCP server inside systemd codebase. [Other Info] * This is also useful for UBports's Ubuntu Touch. We continue using system-image system where the rootfs is read-only, and thus is affected by this bug similarly to Ubuntu Core. I've tested the Focal version of the package on our (currently in development) Focal Ubuntu Touch image, and the fix works. ------------ [Original bug description] On a system running UC16, the file /etc/localtime is a link that points to /etc/writable/localtime. On a freshly installed system, /etc/writable/localtime is a fully-qualified link that points at /usr/share/zoneinfo/UTC. If timedatectl is used to set the timezone to something else, timedated updates the localtime symbolic link with a relative path to the zoneinfo directory, which results in an invalid link. $ sudo timedatectl set-timezone America/Detroit $ sudo timedatectl       Local time: Fri 2016-12-16 18:18:49 EST   Universal time: Fri 2016-12-16 23:18:49 UTC         RTC time: Fri 2016-12-16 23:18:49        Time zone: America/Detroit (EST, -0500)  Network time on: yes NTP synchronized: yes  RTC in local TZ: no $ ls -l /etc/writable/localtime /etc/writable/localtime --> ../usr/share/zoneinfo/America/Detroit admin@localhost:/etc/writable$ date Fri Dec 16 23:20:07 UTC 2016 I'm running the latest core snap from the candidate channel which contains snapd 2.18.1. Hardware details and/or more debug information can be supplied on request. See 'man 3 timezone' and 'man timedatectl' for more details.
2021-09-28 17:20:17 Ratchanan Srirattanamet bug added subscriber Ubuntu Sponsors Team
2021-09-28 17:20:28 Ratchanan Srirattanamet bug added subscriber Ubuntu Release Team
2021-09-29 18:26:47 Ratchanan Srirattanamet bug task added systemd (Ubuntu)
2021-09-30 03:26:23 Mathew Hodson systemd (Ubuntu): importance Undecided Medium
2021-10-15 04:43:51 hugh chao bug added subscriber hugh chao
2021-11-13 18:10:43 Launchpad Janitor merge proposal linked https://code.launchpad.net/~peat-new/ubuntu/+source/systemd/+git/systemd/+merge/411825
2021-11-13 18:14:39 Ratchanan Srirattanamet description Impish feature freeze bug fix (sort of) exception request ========================================================= I (Ratchanan) would like ubuntu-release to verify if the proposed merge for Impish qualify as a bug fix per [1]. Strictly speaking, as there's no core snap from an interim release, this issue doesn't directly effect Impish. However, to comply with the SRU requirement, and to let the patches carry to the 22.04 release, I would like this to be included in Impish. One of the patch has a small possibility to create a problem on classic systems, so testing in a development release is a good idea. Note that one can simulate core snap's /etc/writable redirection by running this image creation hook [2] on the system. [1] https://wiki.ubuntu.com/FreezeExceptionProcess#FeatureFreeze_for_bugfix-only_updates [2] https://git.launchpad.net/livecd-rootfs/tree/live-build/ubuntu-core/hooks/08-etc-writable.chroot?h=ubuntu/focal --------------------- SRU === [Impact] * The bug prevents timedated from recognizing and correctly set the system's timezone when running Ubuntu Core 16, 18 and 20. * This causes by timedated fails to take Ubuntu Core's /etc/writable redirection into account. * The recognizing part is fixed by making the code take writable redirection into account. * The set part is fixed by making the code link to the absolute path instead of a relative one. * Currently core snaps worked around the set part by providing a wrapper script which re-create /etc/writable/localtime afterward. However this does not cover DBus users. [Test Plan] * On classics systems: ensure the proposed systemd package is installed. On Ubuntu Core systems: build a new core snap including proposed package, and install it. Replaces timedatectl with timedatectl.real to test skipping the wrapper. * On freshly boot system: query the timezone using `timedatectl`. The timezone should corresponds to `readlink -f /etc/localtime` and does not show `n/a`. * Set a new timezone: `sudo timedatectl set-timezone Asia/Bangkok`. `readlink -f /etc/localtime` should points to an existing file. * Run `sudo systemctl restart systemd-timedated.service`. Then, query the timezone again: `timedatectl`. It should show the previously set timezone and not `n/a`. * Run `sudo systemctl status systemd-timedated.service`. This should show no sign of timedated crashing. [Where problems could occur] * It's possible that the redirection handling code will be sub-par and causes crash. However, it's not likely because the similar pieces of code is in the previous patch since Ubuntu 16.04. * If it does: the patched `get_timezone()` function is used in 2 places: the networkd's DHCP server [3] and the timedated itself. - Networkd is used primarily on servers where NetworkManage is absent. It's possible that this patch causes the user to loss access to the server due to networkd crash when setting up network interfaces, and requires physical access to fix. However, the code path is executed when DHCP is enabled only. I think it's not common for users to have networkd's DHCP server enabled: the feature seems to gear towards desktop users wanting to share internet connection, and in those cases they're more likely to use NetworkManager. - The timedated itself is likely used by the programs that involves in time-related functions. If a crash occur, in the worst case users won't be able to set time or timezone via timedated. However, users should still be able to e.g. set time using `date` or set timezone using /etc/localtime (assuming online guides still consider systems without systemd). Timedated is DBus-activated, and thus a crash should be self-healing. * The set part would also affects the clasic systems. However, I believe nothing else actually rely on /etc/localtime being a relative path, otherwise the /etc/writable redirection would causes even more problem, and would have been reported. [3] Yes, I'm surprised that there's a DHCP server inside systemd codebase. [Other Info] * This is also useful for UBports's Ubuntu Touch. We continue using system-image system where the rootfs is read-only, and thus is affected by this bug similarly to Ubuntu Core. I've tested the Focal version of the package on our (currently in development) Focal Ubuntu Touch image, and the fix works. ------------ [Original bug description] On a system running UC16, the file /etc/localtime is a link that points to /etc/writable/localtime. On a freshly installed system, /etc/writable/localtime is a fully-qualified link that points at /usr/share/zoneinfo/UTC. If timedatectl is used to set the timezone to something else, timedated updates the localtime symbolic link with a relative path to the zoneinfo directory, which results in an invalid link. $ sudo timedatectl set-timezone America/Detroit $ sudo timedatectl       Local time: Fri 2016-12-16 18:18:49 EST   Universal time: Fri 2016-12-16 23:18:49 UTC         RTC time: Fri 2016-12-16 23:18:49        Time zone: America/Detroit (EST, -0500)  Network time on: yes NTP synchronized: yes  RTC in local TZ: no $ ls -l /etc/writable/localtime /etc/writable/localtime --> ../usr/share/zoneinfo/America/Detroit admin@localhost:/etc/writable$ date Fri Dec 16 23:20:07 UTC 2016 I'm running the latest core snap from the candidate channel which contains snapd 2.18.1. Hardware details and/or more debug information can be supplied on request. See 'man 3 timezone' and 'man timedatectl' for more details. SRU === [Impact]  * The bug prevents timedated from recognizing and correctly set the system's timezone when running Ubuntu Core 16, 18 and 20.  * This causes by timedated fails to take Ubuntu Core's /etc/writable redirection into account.  * The recognizing part is fixed by making the code take writable redirection into account.  * The set part is fixed by making the code link to the absolute path instead of a relative one.  * Currently core snaps worked around the set part by providing a wrapper script which re-create /etc/writable/localtime afterward. However this does not cover DBus users. [Test Plan]  * On classics systems: ensure the proposed systemd package is installed.    On Ubuntu Core systems: build a new core snap including proposed package, and install it. Replaces timedatectl with timedatectl.real to test skipping the wrapper. (Note that one can simulate core snap's /etc/writable redirection by running this image creation hook [1] on the system.) [1] https://git.launchpad.net/livecd-rootfs/tree/live-build/ubuntu-core/hooks/08-etc-writable.chroot?h=ubuntu/focal  * On freshly boot system: query the timezone using `timedatectl`. The timezone should corresponds to `readlink -f /etc/localtime` and does not show `n/a`.  * Set a new timezone: `sudo timedatectl set-timezone Asia/Bangkok`. `readlink -f /etc/localtime` should points to an existing file.  * Run `sudo systemctl restart systemd-timedated.service`. Then, query the timezone again: `timedatectl`. It should show the previously set timezone and not `n/a`.  * Run `sudo systemctl status systemd-timedated.service`. This should show no sign of timedated crashing. [Where problems could occur]  * It's possible that the redirection handling code will be sub-par and causes crash. However, it's not likely because the similar pieces of code is in the previous patch since Ubuntu 16.04.  * If it does: the patched `get_timezone()` function is used in 2 places: the networkd's DHCP server [3] and the timedated itself.    - Networkd is used primarily on servers where NetworkManage is absent. It's possible that this patch causes the user to loss access to the server due to networkd crash when setting up network interfaces, and requires physical access to fix. However, the code path is executed when DHCP is enabled only. I think it's not common for users to have networkd's DHCP server enabled: the feature seems to gear towards desktop users wanting to share internet connection, and in those cases they're more likely to use NetworkManager.    - The timedated itself is likely used by the programs that involves in time-related functions. If a crash occur, in the worst case users won't be able to set time or timezone via timedated. However, users should still be able to e.g. set time using `date` or set timezone using /etc/localtime (assuming online guides still consider systems without systemd). Timedated is DBus-activated, and thus a crash should be self-healing.  * The set part would also affects the clasic systems. However, I believe nothing else actually rely on /etc/localtime being a relative path, otherwise the /etc/writable redirection would causes even more problem, and would have been reported. [3] Yes, I'm surprised that there's a DHCP server inside systemd codebase. [Other Info]  * This is also useful for UBports's Ubuntu Touch. We continue using system-image system where the rootfs is read-only, and thus is affected by this bug similarly to Ubuntu Core. I've tested the Focal version of the package on our (currently in development) Focal Ubuntu Touch image, and the fix works. ------------ [Original bug description] On a system running UC16, the file /etc/localtime is a link that points to /etc/writable/localtime. On a freshly installed system, /etc/writable/localtime is a fully-qualified link that points at /usr/share/zoneinfo/UTC. If timedatectl is used to set the timezone to something else, timedated updates the localtime symbolic link with a relative path to the zoneinfo directory, which results in an invalid link. $ sudo timedatectl set-timezone America/Detroit $ sudo timedatectl       Local time: Fri 2016-12-16 18:18:49 EST   Universal time: Fri 2016-12-16 23:18:49 UTC         RTC time: Fri 2016-12-16 23:18:49        Time zone: America/Detroit (EST, -0500)  Network time on: yes NTP synchronized: yes  RTC in local TZ: no $ ls -l /etc/writable/localtime /etc/writable/localtime --> ../usr/share/zoneinfo/America/Detroit admin@localhost:/etc/writable$ date Fri Dec 16 23:20:07 UTC 2016 I'm running the latest core snap from the candidate channel which contains snapd 2.18.1. Hardware details and/or more debug information can be supplied on request. See 'man 3 timezone' and 'man timedatectl' for more details.
2021-11-19 19:04:00 William Wilson tags hwe hwe rls-jj-incoming
2021-11-19 19:04:52 Brian Murray removed subscriber Ubuntu Sponsors Team
2021-11-24 15:04:35 Alberto Mardegan attachment added Support-system-image-read-only-etc.patch https://bugs.launchpad.net/snappy/+bug/1650688/+attachment/5543088/+files/Support-system-image-read-only-etc.patch
2021-11-25 16:09:36 Lukas Märdian tags hwe rls-jj-incoming fr-1885 hwe rls-jj-incoming
2021-11-29 10:12:18 Launchpad Janitor systemd (Ubuntu): status New Confirmed
2021-11-29 22:42:03 Brian Murray tags fr-1885 hwe rls-jj-incoming fr-1885 hwe
2021-11-29 22:42:30 Brian Murray nominated for series Ubuntu Jammy
2021-11-29 22:42:30 Brian Murray bug task added systemd (Ubuntu Jammy)
2021-12-03 16:01:08 Lukas Märdian bug added subscriber Lukas Märdian
2021-12-07 11:43:06 Lukas Märdian systemd (Ubuntu Jammy): assignee Lukas Märdian (slyon)
2021-12-07 11:43:53 Lukas Märdian nominated for series Ubuntu Bionic
2021-12-07 11:43:53 Lukas Märdian bug task added systemd (Ubuntu Bionic)
2021-12-07 11:43:53 Lukas Märdian nominated for series Ubuntu Impish
2021-12-07 11:43:53 Lukas Märdian bug task added systemd (Ubuntu Impish)
2021-12-07 11:43:53 Lukas Märdian nominated for series Ubuntu Focal
2021-12-07 11:43:53 Lukas Märdian bug task added systemd (Ubuntu Focal)
2021-12-07 11:43:53 Lukas Märdian nominated for series Ubuntu Hirsute
2021-12-07 11:43:53 Lukas Märdian bug task added systemd (Ubuntu Hirsute)
2021-12-09 13:39:52 Lukas Märdian systemd (Ubuntu Jammy): status Confirmed In Progress
2021-12-09 13:40:00 Lukas Märdian systemd (Ubuntu Jammy): status In Progress Fix Committed
2021-12-10 08:55:40 Lukas Märdian systemd (Ubuntu Hirsute): status New Won't Fix
2021-12-10 08:55:44 Lukas Märdian systemd (Ubuntu Impish): status New Won't Fix
2021-12-10 18:19:38 Ratchanan Srirattanamet bug added subscriber Ratchanan Srirattanamet
2021-12-11 17:55:35 Launchpad Janitor systemd (Ubuntu Jammy): status Fix Committed Fix Released
2021-12-13 14:07:25 Łukasz Zemczak systemd (Ubuntu Focal): status New Fix Committed
2021-12-13 14:07:28 Łukasz Zemczak bug added subscriber Ubuntu Stable Release Updates Team
2021-12-13 14:07:30 Łukasz Zemczak bug added subscriber SRU Verification
2021-12-13 14:07:34 Łukasz Zemczak tags fr-1885 hwe fr-1885 hwe verification-needed verification-needed-focal
2021-12-13 15:23:08 Łukasz Zemczak systemd (Ubuntu Bionic): status New Fix Committed
2021-12-13 15:23:16 Łukasz Zemczak tags fr-1885 hwe verification-needed verification-needed-focal fr-1885 hwe verification-needed verification-needed-bionic verification-needed-focal
2021-12-16 15:59:20 Lukas Märdian tags fr-1885 hwe verification-needed verification-needed-bionic verification-needed-focal fr-1885 hwe verification-done-bionic verification-done-focal verification-needed
2022-01-04 19:44:57 Launchpad Janitor systemd (Ubuntu Focal): status Fix Committed Fix Released
2022-01-04 19:45:37 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2022-01-04 19:46:48 Launchpad Janitor systemd (Ubuntu Bionic): status Fix Committed Fix Released
2023-09-20 11:38:18 Michael Vogt affects snappy snapd