"cannot refresh whilst network offline"in plasma-discover

Bug #1943189 reported by Erich Eickmeyer
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
packagekit (Ubuntu)
Fix Released
Medium
Julian Andres Klode
Focal
Invalid
Undecided
Unassigned
Hirsute
Invalid
Undecided
Unassigned
Impish
Fix Released
Medium
Julian Andres Klode

Bug Description

[Impact]

In Ubuntu Impish, an issue has been noted in regards to refreshing packages in Plasma Discover for upgrade or installation. An error appears upon initialization of the Discover interface:

"cannot refresh whilst network offline"

This will happen regardless of if a system is online or not.

I identified a race condition in which this is occurring on systems where packagekitd is initialized before the network service is online. This was a relatively easy fix and required adding one line to the packagekit.service file:

Wants=network-online.target

This ensures that packagekitd is not initialized prior to being online. If the 90 second deadline isn't met, then packagekitd will simply not start as a background process until the user connects to the network and initializes it via a graphical utility, such as with GNOME Software or Plasma Discover, both of which initialize packagekitd on a user level.

The attached patch will easily apply the fix via normal Debian packaging methods.

[Test Plan]

 * Install Kubuntu or Ubuntu Studio

 * While connected to network, Run Discover

 * Discover will complain about "cannot refresh whilst offline", which is being communicated from PackageKit. All functionality in Discover is hindered from this point forward. This is due to a hung packagekitd process which sees the network offline, even though this is false.

[Where problems could occur]

 * packagekitd's systemd service will time-out after 90 seconds if systemd finds no network, which means any update notifications will not automatically start until packagekitd is manually started. Luckily, Discover and GNOME Software both attempt to start packagekitd for the user when run. I'd consider this to be expected behavior for an offline system. The fix is mostly to prevent the false-negative of the system being offline when it's really not.

[Other Info]

 * This fix has been accepted upstream by the PackageKit maintainers as a sane workaround for when gio misbehaves or otherwise. It's a decent safety net. https://github.com/PackageKit/PackageKit/pull/506

ProblemType: Bug
DistroRelease: Ubuntu 21.10
Package: packagekit 1.2.2-2ubuntu1 [modified: lib/systemd/system/packagekit.service]
ProcVersionSignature: Ubuntu 5.13.0-14.14-lowlatency 5.13.1
Uname: Linux 5.13.0-14-lowlatency x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu68
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: KDE
Date: Thu Sep 9 16:34:12 2021
InstallationDate: Installed on 2021-03-20 (172 days ago)
InstallationMedia: Ubuntu-Studio 21.04 "Hirsute Hippo" - Alpha amd64 (20210320)
SourcePackage: packagekit
UpgradeStatus: Upgraded to impish on 2021-06-13 (88 days ago)

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :
Changed in packagekit (Ubuntu):
importance: Undecided → Medium
tags: added: patch
tags: added: rls-ii-incoming
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

The packagekit maintainer (Richard Hughes) has requested this patch as a pull request, so this will be in packagekit upstream very, very soon. https://github.com/PackageKit/PackageKit/issues/336#issuecomment-916666713

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :
tags: removed: rls-ii-incoming
tags: added: fr-1721
Revision history for this message
Julian Andres Klode (juliank) wrote :

@Erich Does this need fixing in older releases as well? The description reads like it just affects impish, but I don't see why that would be the case. If so, can you provide the necessary info for an SRU as in https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template

Changed in packagekit (Ubuntu Impish):
status: New → Fix Committed
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

@Julian I can definitely convert this to an SRU. I haven't seen it in Hirsute or Focal, but it's a decent safety net for when things get stuck (gio or otherwise).

description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package packagekit - 1.2.2-2ubuntu2

---------------
packagekit (1.2.2-2ubuntu2) impish; urgency=medium

  * Add wait-until-online-to-activate-systemd-service.patch: Wait until
    after network-online.target to start packagekitd so it knows if it is
    online, thanks to Erich Eickmeyer for the patch (LP: #1943189)

 -- Julian Andres Klode <email address hidden> Fri, 17 Sep 2021 17:40:40 +0200

Changed in packagekit (Ubuntu Impish):
status: Fix Committed → Fix Released
Revision history for this message
Kai Kasurinen (kai-kasurinen) wrote :

/lib/systemd/system/packagekit.service:13: Unknown key name 'Wants' in section 'Service', ignoring.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Thanks, @Kai. I can confirm that I put that in the wrong location in the patch (but not on my system). Working on a new patch now.

@Julian, I'll add a new patch momentarily. In the meantime, I'm reopening this.

Changed in packagekit (Ubuntu Impish):
assignee: nobody → Erich Eickmeyer  (eeickmeyer)
status: Fix Released → In Progress
description: updated
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :
Changed in packagekit (Ubuntu Impish):
assignee: Erich Eickmeyer  (eeickmeyer) → Julian Andres Klode (juliank)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in packagekit (Ubuntu Focal):
status: New → Confirmed
Changed in packagekit (Ubuntu Hirsute):
status: New → Confirmed
Revision history for this message
Jeremy Soller (jackpot51) wrote :

Did you also submit this fix for the previous patch upstream?

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :
Revision history for this message
Jeremy Soller (jackpot51) wrote :

Nice! When do you think the Ubuntu package will be updated?

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Standard SRU procedure is that it gets into Impish, then it gets reviewed by the SRU team. If accepted, it gets backported into the proposed queue where it waits for one week for verification and testing. If it's verified in that week, it gets backported into the release updates. See https://wiki.ubuntu.com/StableReleaseUpdates for more information.

Probably about a week out for Impish due to the beta freeze, so that should give a timeline.

Revision history for this message
Jeremy Soller (jackpot51) wrote :

Ok, that sounds good. I'm just curious because I'm on Impish and experiencing issues with PackageKit due to this bug. So far I've been restarting the service after I boot.

Changed in packagekit (Ubuntu Impish):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package packagekit - 1.2.2-2ubuntu3

---------------
packagekit (1.2.2-2ubuntu3) impish; urgency=medium

  * Refresh wait-until-online-to-activate-systemd-service.patch with fixes
    (LP: #1943189)

packagekit (1.2.2-2ubuntu2) impish; urgency=medium

  * Add wait-until-online-to-activate-systemd-service.patch: Wait until
    after network-online.target to start packagekitd so it knows if it is
    online, thanks to Erich Eickmeyer for the patch (LP: #1943189)

 -- Julian Andres Klode <email address hidden> Mon, 27 Sep 2021 10:15:19 +0200

Changed in packagekit (Ubuntu Impish):
status: Fix Committed → Fix Released
summary: - "cannot refresh whilst network offline" bug
+ [SRU] "cannot refresh whilst network offline"in plasma-discover
Revision history for this message
Julian Andres Klode (juliank) wrote : Re: [SRU] "cannot refresh whilst network offline"in plasma-discover

So it turns out that yes, this fix was not helpful, and we are dealing with the underlying glib issue in bug 1946196 directly - it needs an update for NetworkManager DBus API break.

Changed in packagekit (Ubuntu Hirsute):
status: Confirmed → Invalid
Changed in packagekit (Ubuntu Focal):
status: Confirmed → Invalid
summary: - [SRU] "cannot refresh whilst network offline"in plasma-discover
+ "cannot refresh whilst network offline"in plasma-discover
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.