Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 614110 - sys-apps/portage: BinpkgFetcher.lock triggers event loop recursion
Summary: sys-apps/portage: BinpkgFetcher.lock triggers event loop recursion
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
Keywords: InVCS
Depends on:
Blocks: 591760 651804
  Show dependency tree
Reported: 2017-03-28 04:16 UTC by Zac Medico
Modified: 2018-07-02 18:40 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Zac Medico gentoo-dev 2017-03-28 04:16:10 UTC
The BinpkgFetcher.lock method calls async_lock.wait(), which triggers event loop recursion until the lock has been acquired. The lock method only appears to be called from the start method (no external callers).
Comment 2 Larry the Git Cow gentoo-dev 2018-04-22 00:56:16 UTC
The bug has been referenced in the following commit(s):

commit adf2e6dd57b5bcaa4a668e3085024ebc3224a2ca
Author:     Zac Medico <>
AuthorDate: 2018-04-21 19:18:08 +0000
Commit:     Zac Medico <>
CommitDate: 2018-04-22 00:50:57 +0000

    BinpkgFetcher: use async lock (bug 614110)
    In order to avoid event loop recursion, convert the
    _BinpkgFetcherProcess.lock() method to an async_lock
    method for use by BinpkgFetcher.
    Reviewed-by: Brian Dolbec <>

 pym/_emerge/ | 53 +++++++++++++++++++++++++++-----------------
 1 file changed, 33 insertions(+), 20 deletions(-)}
Comment 3 Zac Medico gentoo-dev 2018-07-02 18:40:33 UTC
Fixed in portage-2.3.40-r1.