Description of problem: I updated a package from updates-testing, then wanted to revert it back. Dnf got sad. $ sudo dnf history undo last [sudo] password for kparal: Last metadata expiration check: 3:22:29 ago on Tue 04 Sep 2018 12:01:49 PM CEST. Undoing transaction 4, from Tue 04 Sep 2018 03:21:25 PM CEST Upgrade wget-1.19.5-5.fc29.x86_64 @updates-testing Upgraded wget-1.19.5-3.fc29.x86_64 @@System Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Downgrading: wget x86_64 1.19.5-3.fc29 fedora 715 k Transaction Summary ================================================================================ Downgrade 1 Package Total download size: 715 k Installed size: 2.8 M Is this ok [y/N]: y Downloading Packages: wget-1.19.5-3.fc29.x86_64.rpm 1.8 MB/s | 715 kB 00:00 -------------------------------------------------------------------------------- Total 519 kB/s | 715 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Downgrading : wget-1.19.5-3.fc29.x86_64 1/2 Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 253, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 296, in _elemProgress _, _, tsi = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: wget Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 265, in callback self._uninst_progress(amount, total, key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 347, in _uninst_progress _, _, tsi = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: wget ### The last traceback is repeated 54 more times! Clipped out for brevity. Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 263, in callback self._unInstStop(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 354, in _unInstStop _, _, tsi = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: wget Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: glibc-common Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: info Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: man-db Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: glibc-common Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: info Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 273, in callback self._script_start(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 405, in _script_start pkg, _, _ = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 237, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: man-db Verifying : wget-1.19.5-3.fc29.x86_64 1/1 Downgraded: wget-1.19.5-3.fc29.x86_64 Complete! Version-Release number of selected component (if applicable): dnf-3.2.0-2.fc29.noarch rpm-4.14.2-1.fc29.x86_64 How reproducible: yes, I tried to update the package again and then again do history undo last and it happened again Steps to Reproduce: 1. update a package from updates-testing 2. dnf history undo last
Created attachment 1480783 [details] dnf.librepo.log
Created attachment 1480784 [details] dnf.log
Created attachment 1480785 [details] dnf.rpm.log
I'm not really sure how critical this is, but tracebacks in dnf are scary and we should probably not lose track of this. Proposing for a blocker discussion.
Not a blocker in my opinion - it doesn't affect upgrades or installs. But I agree with you that the scary tracebacks must go away. I believe I know where the problem is and I'm going to fix it ASAP.
Discussed during the 2018-09-04 blocker review meeting: [1] The decision to classify this bug as a "Rejected Blocker" was made as, while DNF tracebacks are always bad, this doesn't seem to cause permanent problems and the functionality that fails is not in the criteria (and not hugely important). We are open to considering FE status once the bug and fix are more clearly understood. [1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2018-09-04/f29-blocker-review.2018-09-04-16.01.txt
*** Bug 1627534 has been marked as a duplicate of this bug. ***
Note from the dupe: https://bugzilla.redhat.com/show_bug.cgi?id=1627534#c1 is a case of this happening on 'dnf upgrade'. Which makes it significantly worse, and worth re-considering as a blocker, in my opinion. So, I'm re-proposing it. Criterion is "The installed system must be able appropriately to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated." dmach, can you provide your opinion on this? Any thoughts on how Zbigniew encountered this on a 'dnf upgrade'?
Discussed at 2018-09-13 Fedora 29 Beta Go/No-Go meeting, acting as a blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-meeting-1/2018-09-13/f29-beta-go_no_go-meeting.2018-09-13-17.00.html . Again this bug concerns us, but after careful analysis of zbyzsek's case suggested he likely had pre-existing duplicates in his RPM database, we still don't see a case where this bug occurs in a typical, criteria-backed operation, or where it causes a significant problem for the transaction or the resulting system. So on that basis, we rejected it as a blocker.
https://github.com/rpm-software-management/dnf/pull/1186
That commit is in 3.6.1, so we can mark the 3.6.1 update as fixing this. Will do it.
anaconda-29.24.3-2.fc29 dnf-3.6.1-1.fc29 dnf-plugins-core-3.0.4-1.fc29 dnf-plugins-extras-3.0.2-1.fc29 libdnf-0.20.0-1.fc29 lorax-29.12-3.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-abc8825d92
anaconda-29.24.3-2.fc29, dnf-3.6.1-1.fc29, dnf-plugins-core-3.0.4-1.fc29, dnf-plugins-extras-3.0.2-1.fc29, libdnf-0.20.0-1.fc29, lorax-29.12-3.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.
I installed Fedora 29 from scratch on Sunday and just did a `sudo dnf update` resulting in the following: Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 272, in callback self._uninst_progress(amount, total, key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 356, in _uninst_progress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: net-snmp-libs Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 272, in callback self._uninst_progress(amount, total, key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 356, in _uninst_progress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: net-snmp-libs Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 270, in callback self._unInstStop(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 363, in _unInstStop transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: net-snmp-libs Cleanup : net-snmp-libs-1:5.8-1.fc29.x86_64 164/169 Cleanup : libyaml-0.2.1-2.fc29.x86_64 165/169 Cleanup : libdvdread-6.0.0-1.fc29.x86_64 166/169 Cleanup : flatpak-libs-1.0.3-1.fc29.x86_64 167/169 I get the same error, perhaps for a different reason?
Trying to upgrade to Fedora 30 with dnf system-upgrade: Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 260, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 303, in _elemProgress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: libseccomp Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 260, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 303, in _elemProgress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: hyperv-daemons-license Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 260, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 303, in _elemProgress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: cmake-filesystem Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 260, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 303, in _elemProgress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: python-setuptools-wheel ... For each package.
$ rpm -qa | grep dnf dnf-yum-4.2.2-1.fc29.noarch dnf-plugins-core-4.0.6-1.fc29.noarch dnf-utils-4.0.6-1.fc29.noarch dnf-4.2.2-1.fc29.noarch python3-dnf-plugins-core-4.0.6-1.fc29.noarch libdnf-0.28.1-1.fc29.x86_64 python3-dnf-plugins-extras-common-4.0.4-1.fc29.noarch dnf-data-4.2.2-1.fc29.noarch python3-dnf-4.2.2-1.fc29.noarch python3-dnf-plugin-system-upgrade-4.0.4-1.fc29.noarch python3-libdnf-0.28.1-1.fc29.x86_64
Same in upgrading to fedora 30 Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 260, in callback self._elemProgress(key, amount) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 303, in _elemProgress transaction_list = self._extract_cbkey(key) File "/usr/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 244, in _extract_cbkey raise RuntimeError("TransactionItem not found for key: %s" % cbkey) RuntimeError: TransactionItem not found for key: wine-systemd
Can anyone encountering this please say *where* during the process they were attempting they saw it, and also provide 'rpm -q' output for the package(s) listed in the traceback? Thanks.
I no longer can.
Yes, I have the same issue and can provide details: The error occurs for me when attempting to upgrade to Fedora 30 via dnf system-upgrade reboot dnf update and dnf system-upgrade download --refresh --releasever=30 worked fine. rpm -qa aopalliance aopalliance-1.0-18.fc29.noarch rpm -qa aopalliance-1.0-17.module_f28+3939+dc18cd75.noarch <No Output> Before that, I got the same error with ant-lib. Since I didn't need it any more, I removed but, now I get this error with aopalliance. Journalctl of the upgrade-attempt: May 01 21:05:10 hostname dnf[951]: Transaction Summary May 01 21:05:10 hostname dnf[951]: ================================================================================ May 01 21:05:10 hostname dnf[951]: Install 77 Packages May 01 21:05:10 hostname dnf[951]: Upgrade 3739 Packages May 01 21:05:10 hostname dnf[951]: Remove 10 Packages May 01 21:05:10 hostname dnf[951]: Downgrade 26 Packages May 01 21:05:25 hostname dnf[951]: Total size: 3.9 G May 01 21:05:25 hostname dnf[951]: Downloading Packages: May 01 21:05:46 hostname dnf[951]: Running transaction check May 01 21:05:51 hostname dnf[951]: Transaction check succeeded. May 01 21:05:51 hostname dnf[951]: Running transaction test May 01 21:06:38 hostname dnf[951]: Transaction test succeeded. May 01 21:06:38 hostname dnf[951]: Running transaction May 01 21:07:32 hostname dbus-daemon[952]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service' requested by ':1.3' (uid=0 pid=951 comm="/usr/bin/python3 /usr/bin/dnf system-upgrade upgra") May 01 21:07:32 hostname systemd[1]: Created slice User and Session Slice. May 01 21:07:32 hostname systemd[1]: Starting Login Service... May 01 21:07:32 hostname systemd-logind[968]: New seat seat0. May 01 21:07:32 hostname systemd-logind[968]: Watching system buttons on /dev/input/event2 (Power Button) May 01 21:07:32 hostname systemd-logind[968]: Watching system buttons on /dev/input/event0 (Lid Switch) May 01 21:07:32 hostname systemd-logind[968]: Watching system buttons on /dev/input/event1 (Sleep Button) May 01 21:07:32 hostname systemd-logind[968]: Watching system buttons on /dev/input/event3 (AT Translated Set 2 keyboard) May 01 21:07:32 hostname systemd-logind[968]: Watching system buttons on /dev/input/event7 (ThinkPad Extra Buttons) May 01 21:07:32 hostname dbus-daemon[952]: [system] Successfully activated service 'org.freedesktop.login1' May 01 21:07:32 hostname systemd[1]: Started Login Service. May 01 21:07:32 hostname audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-logind comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' May 01 21:07:32 hostname kernel: audit: type=1130 audit(1556737652.604:95): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-logind comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' May 01 21:07:32 hostname dnf[951]: Running scriptlet: filesystem-3.10-1.fc30.x86_64 1/1 May 01 21:07:32 hostname dnf[951]: Running scriptlet: mariadb-connector-c-3.0.9-2.fc30.x86_64 1/1 May 01 21:07:32 hostname dnf[951]: Running scriptlet: copy-jdk-configs-3.7-3.fc30.noarch 1/1 May 01 21:07:32 hostname dnf[951]: Running scriptlet: java-1.8.0-openjdk-headless-1:1.8.0.201.b09-6.fc30.x 1/1 May 01 21:07:32 hostname dnf[951]: Running scriptlet: texlive-base-7:20180414-35.fc30.x86_64 1/1 May 01 21:07:32 hostname dnf[951]: Running scriptlet: npm-1:6.4.1-1.10.15.3.1.fc30.x86_64 1/1 May 01 21:07:33 hostname dnf[951]: Running scriptlet: kmail-18.12.2-1.fc30.x86_64 1/1 May 01 21:07:33 hostname dnf[951]: Running scriptlet: firefox-66.0.3-1.fc30.x86_64 1/1 May 01 21:07:34 hostname dnf[951]: Running scriptlet: httrack-3.49.2-5.fc30.x86_64 1/1 May 01 21:07:41 hostname dnf[951]: Preparing : 1/1 May 01 21:07:41 hostname python3[951]: detected unhandled Python exception in '/usr/bin/dnf' May 01 21:07:41 hostname python3[951]: can't communicate with ABRT daemon, is it running? [Errno 2] No such file or directory May 01 21:07:41 hostname python3[951]: error sending data to ABRT daemon: May 01 21:07:41 hostname dnf[951]: Traceback (most recent call last): May 01 21:07:41 hostname dnf[951]: File "/usr/bin/dnf", line 58, in <module> May 01 21:07:41 hostname dnf[951]: main.user_main(sys.argv[1:], exit_code=True) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 192, in user_main May 01 21:07:41 hostname dnf[951]: errcode = main(args) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 64, in main May 01 21:07:41 hostname dnf[951]: return _main(base, args, cli_class, option_parser_class) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 99, in _main May 01 21:07:41 hostname dnf[951]: return cli_run(cli, base) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 123, in cli_run May 01 21:07:41 hostname dnf[951]: ret = resolving(cli, base) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 167, in resolving May 01 21:07:41 hostname dnf[951]: base.do_transaction(display=displays) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 225, in do_transaction May 01 21:07:41 hostname dnf[951]: tid = super(BaseCli, self).do_transaction(display) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/base.py", line 879, in do_transaction May 01 21:07:41 hostname dnf[951]: tid = self._run_transaction(cb=cb) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/base.py", line 1008, in _run_transaction May 01 21:07:41 hostname dnf[951]: self.history.end(rpmdbv, 2, errors=herrors) May 01 21:07:41 hostname dnf[951]: File "/usr/lib/python3.7/site-packages/dnf/db/history.py", line 504, in end May 01 21:07:41 hostname dnf[951]: bool(return_code) May 01 21:07:41 hostname dnf[951]: File "/usr/lib64/python3.7/site-packages/libdnf/transaction.py", line 758, in endTransaction May 01 21:07:41 hostname dnf[951]: return _transaction.Swdb_endTransaction(self, dtEnd, rpmdbVersionEnd, state) May 01 21:07:41 hostname dnf[951]: RuntimeError: TransactionItem state is not set: aopalliance-1.0-17.module_f28+3939+dc18cd75.noarch May 01 21:07:41 hostname systemd[1]: dnf-system-upgrade.service: Main process exited, code=exited, status=1/FAILURE May 01 21:07:41 hostname systemd[1]: dnf-system-upgrade.service: Failed with result 'exit-code'. May 01 21:07:41 hostname systemd[1]: Failed to start System Upgrade using DNF. May 01 21:07:41 hostname systemd[1]: dnf-system-upgrade.service: Triggering OnFailure= dependencies.
That is a different error: "TransactionItem state is not set: aopalliance-1.0-17.module_f28+3939+dc18cd75.noarch", not "TransactionItem not found for key". Please report it separately.
Oh, you're right. Will do.
I believe we have fixed the issue already. I can't reproduce it with dnf-4.2.5-1.fc30.noarch