Created attachment 528018 [details] Failed libretro-info I can pretty reliably trigger this. I do have --jobs=4 in my EMERGE_DEFAULT_OPTS, which is probably required. I do not think it's too dependent on packages either, but I can reliably trigger it with 2 packages in the abendbrot overlay. (games-emulation/retroarch-joypad-autoconfig and games-emulation/libretro-info) I haven't had issues emerging them one at a time or with --jobs=1 where with jobs > 1 I get one or both failing. My biggest concern is that when I ran emerge @smart-live-rebuild I had these 2 packages fail, however when I reran it to see if they would fail again, smart-live-rebuild actually failed to detect one of them (retroarch-joypad-autoconfig) needed to be updated, but since it failed, it should have been detected as outdated again. This causes me concern if it would happen to something more system critical. (it does appear /var/db/pkg stuff is being modified, sometimes) Both the tracebacks look the same, I can attach the other one if you want me to.
Am also experiencing this while attempting to merge two packages at the same time. I also recently ran smart-live-rebuild.
I see what's wrong. I'm working on a fix now.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=b443b87c5397867c287f3bc4c5f1f4fa5e234d0a commit b443b87c5397867c287f3bc4c5f1f4fa5e234d0a Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-04-18 21:38:33 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-04-18 21:49:42 +0000 EventLoop._run_idle_callbacks: support recursive calls (bug 653508) Since recursive calls must be supported until all consumers of the AsynchronousLock.unlock() method have been migrated to use the async_unlock() method (bug 614108.), support recursive calls by using a self._idle_callbacks_remaining loop control variable that is reset by each recursive call. Fixes: 9772f8f2a58a (EventLoop._idle_add: use thread-safe deque append) Bug: https://bugs.gentoo.org/653508 pym/portage/util/_eventloop/EventLoop.py | 60 ++++++++++++++------------------ 1 file changed, 26 insertions(+), 34 deletions(-)}
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78997b43cf35eb9e061a51f2f8b8aa1c185b09e9 commit 78997b43cf35eb9e061a51f2f8b8aa1c185b09e9 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-04-18 22:29:08 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-04-18 22:31:11 +0000 sys-apps/portage: version bump to 2.3.31 #653508 - AssertionError: idle callback recursion #640318 - emerge --usepkgonly: propagate implicit IUSE and USE_EXPAND Closes: https://bugs.gentoo.org/653508 Package-Manager: Portage-2.3.31, Repoman-2.3.9 sys-apps/portage/Manifest | 3 +- sys-apps/portage/portage-2.3.30.ebuild | 284 --------------------- ...portage-2.3.29.ebuild => portage-2.3.31.ebuild} | 0 3 files changed, 1 insertion(+), 286 deletions(-)
It should work fine with portage-2.3.31. Thanks for the report!
*** Bug 653544 has been marked as a duplicate of this bug. ***