Summary: | sys-apps/portage-2.2.26: "Performing Global Updates" KeyError from update_ents with FEATURES=binpkg-multi-instance | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Andreas K. Hüttel <dilfridge> |
Component: | Binary packages support | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | InVCS |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=765847 https://bugs.gentoo.org/show_bug.cgi?id=918597 https://bugs.gentoo.org/show_bug.cgi?id=919668 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 766117 | ||
Bug Blocks: | |||
Attachments: | emerge --info |
Description
Andreas K. Hüttel
2016-01-06 21:46:48 UTC
Created attachment 422164 [details]
emerge --info
It looks like "move kde-base/akregator kde-apps/akregator" inside profiles/updates/4Q-2015 triggered this. The bintree state probably got messed up in a move_ent call for the mentioned package move, and then that caused update_ents to fail later on. This was reported today:
>
> Performing Global Updates
> (Could take a couple of minutes if you have a lot of binary packages.)
> Traceback (most recent call last):
> File "/usr/lib/python-exec/python3.6/emerge", line 53, in <module>
> retval = emerge_main()
> File "/usr/lib64/python3.6/site-packages/_emerge/main.py", line 1309, in emerge_main
> return run_action(emerge_config)
> File "/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 2891, in run_action
> quiet=("--quiet" in emerge_config.opts)):
> File "/usr/lib64/python3.6/site-packages/portage/_global_updates.py", line 41, in _global_updates
> quiet=quiet, if_mtime_changed=if_mtime_changed)
> File "/usr/lib64/python3.6/site-packages/portage/_global_updates.py", line 177, in _do_global_updates
> moves = bindb.move_slot_ent(update_cmd, repo_match=repo_match)
> File "/usr/lib64/python3.6/site-packages/portage/dbapi/__init__.py", line 441, in move_slot_ent
> self.aux_update(mycpv, mydata)
> File "/usr/lib64/python3.6/site-packages/portage/dbapi/bintree.py", line 213, in aux_update
> raise KeyError(cpv)
> KeyError: 'media-libs/vips-8.9.0_rc2'
(In reply to Andreas K. Hüttel from comment #0) > 41, in _global_updates > quiet=quiet, if_mtime_changed=if_mtime_changed) > File "/usr/lib64/python3.4/site-packages/portage/_global_updates.py", line > 240, in _do_global_updates > bindb.update_ents(repo_map, onUpdate=onUpdate) > File "/usr/lib64/python3.4/site-packages/portage/dbapi/__init__.py", line > 350, in update_ents > aux_update(cpv, metadata_updates) > File "/usr/lib64/python3.4/site-packages/portage/dbapi/bintree.py", line > 203, in aux_update > raise KeyError(cpv) > KeyError: 'kde-apps/akregator-4.4.2015.06' The root cause of bug 765847 was that aux_update inappropriately renamed the package file. It's probably the same thing that triggered this KeyError. (In reply to Zac Medico from comment #4) > (In reply to Andreas K. Hüttel from comment #0) > > 41, in _global_updates > > quiet=quiet, if_mtime_changed=if_mtime_changed) > > File "/usr/lib64/python3.4/site-packages/portage/_global_updates.py", line > > 240, in _do_global_updates > > bindb.update_ents(repo_map, onUpdate=onUpdate) > > File "/usr/lib64/python3.4/site-packages/portage/dbapi/__init__.py", line > > 350, in update_ents > > aux_update(cpv, metadata_updates) > > File "/usr/lib64/python3.4/site-packages/portage/dbapi/bintree.py", line > > 203, in aux_update > > raise KeyError(cpv) > > KeyError: 'kde-apps/akregator-4.4.2015.06' > > The root cause of bug 765847 was that aux_update inappropriately renamed the > package file. It's probably the same thing that triggered this KeyError. Yeah, each aux_update call renamed a package file and left behind an entry for the old file name that would trigger this KeyError on a future aux_update call. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b03adb22f0432ee992aab733ce5dfa13e9b6801a commit b03adb22f0432ee992aab733ce5dfa13e9b6801a Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2021-01-19 11:07:56 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2021-01-19 11:16:53 +0000 sys-apps/portage: Bump to version 3.0.14 #571126 KeyError during package moves "global updates" triggered by FEATURES=binpkg-multi-instance (same root cause as bug 765847) #739004 Add @changed-subslot package set #765847 Spurious package file renames during application of package moves with FEATURES=binpkg-multi-instance #766012 Copy on write when applying a package move to a binary package, so that the old version of a binary package will remain available until eclean-pkg deletes it Bug: https://bugs.gentoo.org/766117 Bug: https://bugs.gentoo.org/571126 Bug: https://bugs.gentoo.org/739004 Bug: https://bugs.gentoo.org/765847 Bug: https://bugs.gentoo.org/766012 Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Zac Medico <zmedico@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.14.ebuild | 268 +++++++++++++++++++++++++++++++++ 2 files changed, 269 insertions(+) |