Bug 1454854

Summary: DNF progress.start() broken with 2.5.0, breaking dnfdaemon (and dnfdragora)
Product: [Fedora] Fedora Reporter: Jerry Amundson <jamundso>
Component: dnfdaemonAssignee: Björn 'besser82' Esser <besser82>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 26CC: awilliam, besser82, jmracek, leigh123linux, lupinix.fedora, ngompa13, packaging-team-maint, robatino, rpm-software-management, tim.lauridsen, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedBlocker
Fixed In Version: dnfdaemon-0.3.18-2.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-09 19:07:02 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:
Bug Depends On:    
Bug Blocks: 1349188    

Description Jerry Amundson 2017-05-23 15:05:41 UTC
Description of problem:
Crashed after selecting package to install (ImageMagick)

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Select package. Apply.
2. Enter password
3.

Actual results:
Crash

Expected results:
Installed package

Additional info:

on_TransactionEvent download
dnfdaemon client error: g-io-error-quark: GDBus.Error:org.freedesktop.DBus.Python.TypeError: Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/python3.6/site-packages/dnfdaemon/server/__init__.py", line 83, in newFunc
    rc = func(*args, **kwargs)
  File "/usr/share/dnfdaemon/dnfdaemon-system", line 537, in RunTransaction
    result = self.run_transaction()
  File "/usr/lib/python3.6/site-packages/dnfdaemon/server/__init__.py", line 555, in run_transaction
    self.base.download_packages(to_dnl, self.base.progress)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 1011, in download_packages
    progress.start(len(payloads), est_remote_size, total_drpms=total_drpm)
TypeError: start() got an unexpected keyword argument 'total_drpms'
 (36) 
<_M_> [ui] YUILoader.cc:163 deleteUI(): Shutting down UI
Closing dnfdragora
<_M_> [ew] YExternalWidgets.cc:116 ~YExternalWidgetsTerminator(): Shutting down mga External Widgets
<_M_> [ew] YMGAWidgetExtensionFactory.cc:49 ~YMGAWidgetFactory(): Factory removed

Comment 1 Neal Gompa 2017-05-24 01:20:08 UTC
From what I can tell, there are no changes that need to be made to either dnfdaemon or dnfdragora. The breakage occurred in DNF itself.

Reassigning to DNF.

Since this bug breaks dnfdaemon and dnfdragora (which are on the KDE Plasma live media), this is pretty bad.

Comment 2 Fedora Blocker Bugs Application 2017-05-24 06:09:37 UTC
Proposed as a Blocker for 26-final by Fedora user lupinix using the blocker tracking app because:

 dnfdragora is the default package manager on KDE Plasma spin, the update to dnf 2.5.0 breaks it.

Comment 3 Jaroslav Mracek 2017-05-24 07:13:07 UTC
I guess it should help:

diff --git a/python/dnfdaemon/server/backend.py b/python/dnfdaemon/server/backend.py
index 7c1c150..997a466 100644
--- a/python/dnfdaemon/server/backend.py
+++ b/python/dnfdaemon/server/backend.py
@@ -433,7 +433,7 @@ class Progress(dnf.callback.DownloadProgress):
         self.dnl = {}
         self.last_frac = 0
 
-    def start(self, total_files, total_size):
+    def start(self, total_files, total_size, total_drpms=0):
         self.total_files = total_files
         self.total_size = float(total_size)
         self.download_files = 0

It is part of pull-request https://github.com/manatools/dnfdaemon/pull/18

Comment 4 Björn 'besser82' Esser 2017-05-24 08:24:42 UTC
Patch fixes this issue.  Builds for dnfdaemon with patch applied are running.  Reassigning to dnfdaemon.

Comment 5 Fedora Update System 2017-05-24 08:30:51 UTC
dnf-2.5.0-1.fc26 dnf-plugins-core-2.1.0-1.fc26 dnf-plugins-extras-2.0.1-1.fc26 dnfdaemon-0.3.17-3.fc26 libdnf-0.9.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-92e5a01da8

Comment 6 Fedora Update System 2017-05-24 08:33:35 UTC
dnf-2.5.0-1.fc26 dnf-plugins-core-2.1.0-1.fc26 dnf-plugins-extras-2.0.1-1.fc26 dnfdaemon-0.3.17-3.fc26 libdnf-0.9.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-92e5a01da8

Comment 7 Jerry Amundson 2017-05-24 13:39:39 UTC
dnfdaemon-0.3.17-3.fc26 fixed this.

Comment 8 Neal Gompa 2017-05-24 13:57:45 UTC
dnfdaemon-0.3.18 has been released with the fixes.

Comment 9 Fedora Update System 2017-05-24 14:34:06 UTC
dnf-2.5.0-2.fc26 dnf-plugins-core-2.1.0-1.fc26 dnf-plugins-extras-2.0.1-1.fc26 dnfdaemon-0.3.18-1.fc26 libdnf-0.9.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-92e5a01da8

Comment 10 Fedora Update System 2017-05-25 19:18:24 UTC
dnf-2.5.0-2.fc26, dnf-plugins-core-2.1.0-1.fc26, dnf-plugins-extras-2.0.1-1.fc26, dnfdaemon-0.3.18-2.fc26, libdnf-0.9.0-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-92e5a01da8

Comment 11 Adam Williamson 2017-06-05 18:43:44 UTC
Discussed at 2017-06-05 blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2017-06-05/f26-blocker-review.2017-06-05-16.01.html . Accepted as a blocker due to violation of Final criterion "All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test." Note issue was discussed twice during the meeting.

Comment 12 Fedora Update System 2017-06-09 19:07:02 UTC
dnf-2.5.0-2.fc26, dnf-plugins-core-2.1.0-1.fc26, dnf-plugins-extras-2.0.1-1.fc26, dnfdaemon-0.3.18-2.fc26, libdnf-0.9.0-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Jaroslav Mracek 2017-06-12 16:48:52 UTC
The problem was completely solved by dnf-2.5.1-1 where we provide a compatibility patch. Therefore there should be no problem for any packages with or without support of new callbacks. Hope that not any new issue appears.