Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 711362

Summary: sys-apps/portage-2.3.91: egencache AttributeError: 'NoneType' object has no attribute 'ebuild'
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: ToolsAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: REGRESSION
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 711148    

Description Zac Medico gentoo-dev 2020-03-02 20:44:32 UTC
> $ egencache --update --update-pkg-desc-index --update-use-local-desc --repo=gentoo
> Exception in callback AsyncScheduler._task_coroutine_done(<_emerge.Ebui...x7f5716cb48b8>)(<Future finis...e 'ebuild'",)>)
> handle: <Handle AsyncScheduler._task_coroutine_done(<_emerge.Ebui...x7f5716cb48b8>)(<Future finis...e 'ebuild'",)>)>
> Traceback (most recent call last):
>   File "/usr/lib64/python3.6/asyncio/events.py", line 145, in _run
>     self._callback(*self._args)
>   File "/usr/lib64/python3.6/site-packages/portage/util/_async/AsyncScheduler.py", line 87, in _task_coroutine_done
>     future.result()
>   File "/usr/lib64/python3.6/site-packages/portage/util/futures/compat_coroutine.py", line 119, in _next
>     future = self._generator.send(previous.result())
>   File "/usr/lib64/python3.6/site-packages/portage/util/_async/AsyncScheduler.py", line 83, in _task_coroutine
>     yield task.async_wait()
>   File "/usr/lib64/python3.6/site-packages/_emerge/AsynchronousTask.py", line 76, in async_wait
>     self._async_wait()
>   File "/usr/lib64/python3.6/site-packages/_emerge/SubProcess.py", line 50, in _async_wait
>     super(SubProcess, self)._async_wait()
>   File "/usr/lib64/python3.6/site-packages/_emerge/AbstractPollTask.py", line 99, in _async_wait
>     self._unregister()
>   File "/usr/lib64/python3.6/site-packages/_emerge/EbuildMetadataPhase.py", line 147, in _unregister
>     self.scheduler.remove_reader(self._files.ebuild)
> AttributeError: 'NoneType' object has no attribute 'ebuild'
Comment 1 Larry the Git Cow gentoo-dev 2020-03-03 05:47:19 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=0b78b4a90657ef582a68258f27eaf521dfb42038

commit 0b78b4a90657ef582a68258f27eaf521dfb42038
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-03-03 05:39:44 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-03-03 05:46:36 +0000

    EbuildMetadataPhase: make _unregister idempotent (bug 711362)
    
    Make the _unregister method check if self._files is None, as
    necessary for idempotency. This will prevent the AttributeError
    reported in bug 711362, which was triggered by recent changes
    in callback scheduling order.
    
    Closes: https://bugs.gentoo.org/711362
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/_emerge/EbuildMetadataPhase.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 2 Larry the Git Cow gentoo-dev 2020-03-04 10:27:43 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fe510215d12499f0f4f955adfd0f22e761a015e

commit 2fe510215d12499f0f4f955adfd0f22e761a015e
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-03-04 10:16:59 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-03-04 10:25:03 +0000

    sys-apps/portage: Bump to version 2.3.92
    
     #601252 emerge --pretend --fetchonly event loop recursion
     #709334 socks5-server.py async and await coroutine syntax
     #709746 Rename PORTAGE_LOG_FILTER_FILE_CMD from PORTAGE_LOG_FILTER_FILE
     #711322 emerge hang after src_install
     #711362 egencache AttributeError: 'NoneType' object has no attribute
             'ebuild'
     #711400 AttributeError: 'NoneType' object has no attribute 'depth'
    
    Bug: https://bugs.gentoo.org/711148
    Bug: https://bugs.gentoo.org/709334
    Bug: https://bugs.gentoo.org/709746
    Closes: https://bugs.gentoo.org/711322
    Bug: https://bugs.gentoo.org/711362
    Bug: https://bugs.gentoo.org/711400
    Package-Manager: Portage-2.3.92, Repoman-2.3.20
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/Manifest                                         | 2 +-
 sys-apps/portage/{portage-2.3.91.ebuild => portage-2.3.92.ebuild} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)