Bug 1746346

Summary: dnf-system-upgrade.service traceback, breaks packagekit offline updates
Product: [Fedora] Fedora Reporter: Michal Schmidt <mschmidt>
Component: dnf-plugins-extrasAssignee: Pavla Kratochvilova <pkratoch>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 30CC: dmach, jkadlcik, jmracek, kparal, mblaha, mdomonko, pkratoch, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-26 13:13:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Schmidt 2019-08-28 08:51:30 UTC
Description of problem:
An error in python3-dnf-plugin-system-upgrade causes systemd to reboot the machine while a packagekit offline update is in progress.
The bug prevents updating the system using gnome-software.

Version-Release number of selected component (if applicable):
python3-dnf-plugin-system-upgrade-4.0.5-1.fc30.noarch
dnf-4.2.8-1.fc30.noarch
PackageKit-1.1.12-5.fc30.x86_64

How reproducible:
always

Steps to Reproduce:
1. In gnome-software download available updates and press "Restart & Update".
2. After reboot when the updates are supposed to get installed, notice it goes surprisingly quickly before the system reboots itself again.

Actual results:
The updates are not installed.

Expected results:
Updated packages installed.

Additional info:
A traceback in the dnf plugin can be seen in the journal:

$ journalctl -b -1 -u packagekit-offline-update.service -u dnf-system-upgrade.service
-- Logs begin at Tue 2018-08-28 09:56:17 CEST, end at Wed 2019-08-28 10:36:22 CEST. --
srp 28 10:31:46 alice systemd[1]: Starting System Upgrade using DNF...
srp 28 10:31:46 alice systemd[1]: Starting Update the operating system whilst offline...
srp 28 10:31:46 alice pk-offline-update[1319]: sent mode to plymouth 'updates'
srp 28 10:31:46 alice pk-offline-update[1319]: sent msg to plymouth 'Installing updates; this could take a while...'
srp 28 10:31:46 alice pk-offline-update[1319]: writing dummy results
srp 28 10:31:46 alice pk-offline-update[1319]: assigned role
srp 28 10:31:46 alice pk-offline-update[1319]: status wait
srp 28 10:31:46 alice pk-offline-update[1319]: status waiting-for-auth
srp 28 10:31:46 alice pk-offline-update[1319]: status wait
srp 28 10:31:46 alice pk-offline-update[1319]: status setup
srp 28 10:31:46 alice pk-offline-update[1319]: status query
srp 28 10:31:46 alice pk-offline-update[1319]: percentage 0%
srp 28 10:31:46 alice pk-offline-update[1319]: status loading-cache
srp 28 10:31:46 alice pk-offline-update[1319]: percentage 1%
srp 28 10:31:46 alice dnf[1318]: Traceback (most recent call last):
srp 28 10:31:46 alice dnf[1318]:   File "/usr/bin/dnf", line 58, in <module>
srp 28 10:31:46 alice dnf[1318]:     main.user_main(sys.argv[1:], exit_code=True)
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 191, in user_main
srp 28 10:31:46 alice dnf[1318]:     errcode = main(args)
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 65, in main
srp 28 10:31:46 alice dnf[1318]:     return _main(base, args, cli_class, option_parser_class)
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 94, in _main
srp 28 10:31:46 alice dnf[1318]:     cli.configure(list(map(ucd, args)), option_parser())
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 970, in configure
srp 28 10:31:46 alice dnf[1318]:     self.command.configure()
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf-plugins/system_upgrade.py", line 335, in configure
srp 28 10:31:46 alice dnf[1318]:     self._call_sub("configure")
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf-plugins/system_upgrade.py", line 347, in _call_sub
srp 28 10:31:46 alice dnf[1318]:     subfunc()
srp 28 10:31:46 alice dnf[1318]:   File "/usr/lib/python3.7/site-packages/dnf-plugins/system_upgrade.py", line 410, in configure_upgrade
srp 28 10:31:46 alice dnf[1318]:     repo.gpgcheck = repo.id in self.state.gpgcheck_repos
srp 28 10:31:46 alice dnf[1318]: TypeError: argument of type 'NoneType' is not iterable
srp 28 10:31:46 alice systemd[1]: dnf-system-upgrade.service: Main process exited, code=exited, status=1/FAILURE
srp 28 10:31:46 alice systemd[1]: dnf-system-upgrade.service: Failed with result 'exit-code'.
srp 28 10:31:46 alice systemd[1]: Failed to start System Upgrade using DNF.
srp 28 10:31:46 alice systemd[1]: dnf-system-upgrade.service: Triggering OnFailure= dependencies.
srp 28 10:31:47 alice systemd[1]: packagekit-offline-update.service: Main process exited, code=killed, status=15/TERM
srp 28 10:31:47 alice systemd[1]: packagekit-offline-update.service: Failed with result 'signal'.
srp 28 10:31:47 alice systemd[1]: Stopped Update the operating system whilst offline.

Comment 1 Michal Schmidt 2019-08-28 08:53:03 UTC
The traceback start on the code line introduced by the fix for bug 1693677.

Comment 2 Pavla Kratochvilova 2019-08-28 10:50:21 UTC
Thanks for the report. Can you please check if the bug is reproducible also with lower version of system-upgrade (python3-dnf-plugin-system-upgrade-4.0.4-1.fc30.noarch) but the same versions of dnf and PackageKit?

If not, I will remove the dnf-plugins-extras-4.0.5 build from the bodhi update, so that it doesn't needlessly block the rest, until I fix this bug.

Comment 3 Michal Schmidt 2019-08-28 13:29:54 UTC
Yes, after downgrading only python3-dnf-plugin-system-upgrade to 4.0.4-1.fc30 the offline update works fine for me.

Comment 5 Kamil Páral 2019-09-26 13:13:56 UTC
This and bug 1751103 look the same, merging.

*** This bug has been marked as a duplicate of bug 1751103 ***