> BTW - fwupd already uses network-online.target for this unit. One could probably argue this is a systemd bug.
Where? /usr/lib/systemd/system/fwupd-refresh.service only has After=network.target. Perhaps that'd be the fix. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/2008699 Title: fwupd-refresh.service always fails after hibernate Status in fwupd package in Ubuntu: New Status in systemd package in Ubuntu: New Bug description: fwupd-refresh.service unit is set to After=network.target, however, in practice, the following happens: - Desktop is active, NetworkManager is connected. - Machine is hibernated. - On wakeup, systemd will start NetworkManager then fwupd-refresh.service. There's however, a race condition there: - NetworkManager starts first. - fwupd-refresh.service is started BEFORE NetworkManager has enough time to reconnect to network. - fwupd-refresh.service fails due to lack of network. - NetworkManager connects to network a couple seconds later. The following journal logs illustrate that: Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.0438] device (wlp5s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') Feb 27 11:27:27 brown kernel: r8169 0000:06:00.0 enp6s0: Link is Down Feb 27 11:27:27 brown fwupd[2459754]: 11:27:27:0099 GLib-GObject value "1818326128" of type 'guint' is invalid or out of range for property 'kind' of type 'guint' Feb 27 11:27:27 brown acpid[2037]: client connected from 4266[0:0] Feb 27 11:27:27 brown acpid[2037]: 1 client rule loaded Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2354] device (p2p-dev-wlp5s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2355] manager: NetworkManager state is now CONNECTED_LOCAL Feb 27 11:27:27 brown systemd[1]: man-db.service: Deactivated successfully. Feb 27 11:27:27 brown systemd[1]: Finished Daily man-db regeneration. Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2943] device (wlp5s0): supplicant interface state: internal-starting -> disconnected Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2943] device (p2p-dev-wlp5s0): state change: unavailable -> unmanaged (reason 'removed', sys-iface-state: 'removed') Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2947] Wi-Fi P2P device controlled by interface wlp5s0 created Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2949] manager: (p2p-dev-wlp5s0): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices/232) Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2951] device (p2p-dev-wlp5s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2953] device (wlp5s0): state change: unavailable -> disconnected (reason 'supplicant-available', sys-iface-state: 'managed') Feb 27 11:27:27 brown NetworkManager[2048]: <info> [1677497247.2956] device (p2p-dev-wlp5s0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed') Feb 27 11:27:27 brown dbus-daemon[2047]: [system] Successfully activated service 'org.freedesktop.fwupd' Feb 27 11:27:27 brown systemd[1]: Starting Update APT News... Feb 27 11:27:27 brown systemd[1]: Started Firmware update daemon. Feb 27 11:27:27 brown systemd[1]: Starting Update the local ESM caches... Feb 27 11:27:27 brown fwupdmgr[2459622]: (fwupdmgr:2459622): Fwupd-DEBUG: 11:27:27.743: Emitting ::status-changed() [idle] Feb 27 11:27:27 brown fwupdmgr[2459622]: Updating lvfs Feb 27 11:27:27 brown fwupdmgr[2459622]: (fwupdmgr:2459622): Fwupd-DEBUG: 11:27:27.750: downloading https://cdn.fwupd.org/downloads/firmware.xml.gz.jcat Feb 27 11:27:27 brown fwupdmgr[2459622]: (fwupdmgr:2459622): Fwupd-DEBUG: 11:27:27.751: Emitting ::status-changed() [downloading] Feb 27 11:27:27 brown fwupdmgr[2459622]: Downloading…: 0% Feb 27 11:27:27 brown fwupdmgr[2459622]: (fwupdmgr:2459622): Fwupd-DEBUG: 11:27:27.751: Emitting ::status-changed() [idle] Feb 27 11:27:27 brown systemd[1]: fwupd-refresh.service: Main process exited, code=exited, status=1/FAILURE Feb 27 11:27:27 brown systemd[1]: fwupd-refresh.service: Failed with result 'exit-code'. Feb 27 11:27:27 brown systemd[1]: Failed to start Refresh fwupd metadata and update motd. Feb 27 11:27:27 brown systemd[1]: apt-news.service: Deactivated successfully. Feb 27 11:27:27 brown systemd[1]: Finished Update APT News. Feb 27 11:27:28 brown wpa_supplicant[2114]: wlp5s0: Reject scan trigger since one is already pending Feb 27 11:27:29 brown ModemManager[2147]: <info> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:04.0/0000:05:00.0': not supported by any plugin Feb 27 11:27:29 brown ModemManager[2147]: <info> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:05.0/0000:06:00.0': not supported by any plugin Feb 27 11:27:30 brown wpa_supplicant[2114]: wlp5s0: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=COUNTRY alpha2=EU Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4717] device (enp6s0): carrier: link connected Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4718] device (enp6s0): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed') Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4722] policy: auto-activating connection 'Wired connection 1' (a7e4e975-d8bd-3f26-9ee4-e201b1c20ca8) Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4724] device (enp6s0): Activation: starting connection 'Wired connection 1' (a7e4e975-d8bd-3f26-9ee4-e201b1c20ca8) Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4725] device (enp6s0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed') Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4726] manager: NetworkManager state is now CONNECTING Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4727] device (enp6s0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed') Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4729] device (enp6s0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed') Feb 27 11:27:30 brown NetworkManager[2048]: <info> [1677497250.4731] dhcp4 (enp6s0): activation: beginning transaction (timeout in 45 seconds) The service will be in a failed state, until fwupd-refresh.timer kicks in, which can take up to 12h to happen. As I have alerts on my machine to detect failed systemd units, this ends up triggering every time the machine is hibernated. Arguably, the alert should be bound by the 12h fwupd-refresh.timer (and only trigger after 12h of being continuously in a fail state, but it seems that addressing this race condition, would still be valid. One possibility, is to leverage systemd [Service] Restart, and add some retries there, with a couple seconds interval. This should be enough to give time for NetworkManager to get network access working, so fwupd-refresh.service can succeed. Or, we may just add a sleep 60 before /usr/bin/fwupdmgr refresh, same effect. ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: fwupd 1.7.9-1~22.04.1 [modified: lib/systemd/system/fwupd-refresh.service] ProcVersionSignature: Ubuntu 5.15.0-60.66-generic 5.15.78 Uname: Linux 5.15.0-60-generic x86_64 NonfreeKernelModules: nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu82.3 Architecture: amd64 CasperMD5CheckResult: pass CurrentDesktop: Budgie:GNOME Date: Mon Feb 27 12:08:54 2023 InstallationDate: Installed on 2023-02-11 (15 days ago) InstallationMedia: Ubuntu-MATE 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1) SourcePackage: fwupd UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/2008699/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp