Bug 1809600

Summary: Tracebacks in transaction callbacks
Product: Red Hat Enterprise Linux 8 Reporter: Jaroslav Mracek <jmracek>
Component: dnfAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED ERRATA QA Contact: Jan Blazek <jblazek>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.1CC: amatej, james.antill, pkratoch
Target Milestone: rcKeywords: Triaged
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-4.2.21-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:52:51 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 Jaroslav Mracek 2020-03-03 13:12:13 UTC
Description of problem:
In some cases transaction callback contains tracebacks:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/dnf/yum/rpmtrans.py", line 267, in callback
    self._elemProgress(key, amount)
  File "/usr/lib/python3.6/site-packages/dnf/yum/rpmtrans.py", line 316, in _elemProgress
    display.filelog(transaction_list[0].pkg, transaction_list[0].action)
  File "/usr/lib/python3.6/site-packages/dnf/db/history.py", line 133, in pkg
    return self._swdb.rpm._swdb_ti_pkg[self._item]
KeyError: <libdnf.transaction.TransactionItem; proxy of <Swig Object of type 'libdnf::TransactionItemPtr *' at 0x7f057852c8d0> >


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


How reproducible:
Allays on server with gui

Steps to Reproduce:
1.dnf module install php:7.3/*
2.dnf install php-soap
3.dnf module remove php:7.3/* --all

Actual results:
Tracebacks

Comment 1 Jaroslav Mracek 2020-03-03 13:16:53 UTC
I created PR that removes tracebacks - https://github.com/rpm-software-management/dnf/pull/1601.

Comment 3 Jaroslav Mracek 2020-03-03 16:34:04 UTC
Test: https://github.com/rpm-software-management/ci-dnf-stack/pull/801
Test uses group command but the issue is identical, because it shares the same code base that change reason of installed package instead of removing it. The patch is in general part of callback that applies for all transaction (group, modules, rpms).

Comment 11 errata-xmlrpc 2020-11-04 01:52:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (yum bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:4510