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

Bug 711400

Summary: sys-apps/portage-2.3.89: emerge AttributeError: 'NoneType' object has no attribute 'depth'
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS, REGRESSION
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 706142, 711148    

Description Zac Medico gentoo-dev 2020-03-03 06:24:59 UTC
I hit this error when attempting to run emerge -e @world in at freshly unpacked stage3:

> Traceback (most recent call last):
>   File "/usr/lib/python-exec/python3.6/emerge", line 53, in <module>
>     retval = emerge_main()
>   File "lib/_emerge/main.py", line 1309, in emerge_main
>     return run_action(emerge_config)
>   File "lib/_emerge/actions.py", line 3374, in run_action
>     retval = action_build(emerge_config, spinner=spinner)
>   File "lib/_emerge/actions.py", line 358, in action_build
>     settings, trees, myopts, myparams, myaction, myfiles, spinner)
>   File "lib/_emerge/depgraph.py", line 9912, in backtrack_depgraph
>     myaction, myfiles, spinner)
>   File "lib/_emerge/depgraph.py", line 9949, in _backtrack_depgraph
>     success, favorites = mydepgraph.select_files(myfiles)
>   File "lib/_emerge/depgraph.py", line 4002, in select_files
>     return self._select_files(args)
>   File "lib/_emerge/depgraph.py", line 4345, in _select_files
>     return self._resolve(myfavorites)
>   File "lib/_emerge/depgraph.py", line 4501, in _resolve
>     self.altlist()
>   File "lib/_emerge/depgraph.py", line 7485, in altlist
>     self._resolve_conflicts()
>   File "lib/_emerge/depgraph.py", line 7612, in _resolve_conflicts
>     self._process_slot_conflicts()
>   File "lib/_emerge/depgraph.py", line 1712, in _process_slot_conflicts
>     if not self._validate_blockers():
>   File "lib/_emerge/depgraph.py", line 7227, in _validate_blockers
>     trees=self._dynamic_config._graph_trees, myroot=myroot)
>   File "libdep/dep_check.py", line 850, in dep_check
>     use_binaries=use_binaries, trees=trees, minimize_slots=dnf)
>   File "libdep/dep_check.py", line 319, in dep_zapdeps
>     minimize_slots=minimize_slots)
>   File "libdep/dep_check.py", line 513, in dep_zapdeps
>     if graph_interface.want_update_pkg(parent, avail_pkg):
>   File "lib/_emerge/depgraph.py", line 5850, in _want_update_pkg
>     depth = parent.depth or 0
> AttributeError: 'NoneType' object has no attribute 'depth'
Comment 1 Larry the Git Cow gentoo-dev 2020-03-03 06:29:12 UTC
The bug has been referenced in the following commit(s):

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

commit e762752a8bf5c19e0d6d7b22de86306bfa4270ba
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-03-03 06:25:45 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-03-03 06:27:12 +0000

    dep_zapdeps: skip want_update_pkg if parent is None (bug 711400)
    
    Skip the want_update_pkg call when parent is None, since passing
    a None parent to want_update_pkg results in an error like this:
    
      File "libdep/dep_check.py", line 513, in dep_zapdeps
        if graph_interface.want_update_pkg(parent, avail_pkg):
      File "lib/_emerge/depgraph.py", line 5850, in _want_update_pkg
        depth = parent.depth or 0
    AttributeError: 'NoneType' object has no attribute 'depth'
    
    Fixes: f7d83d75c6b0 ("dep_zapdeps: adjust || preference for slot upgrades (bug 706278)")
    Bug: https://bugs.gentoo.org/711400
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/portage/dep/dep_check.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 2 Larry the Git Cow gentoo-dev 2020-03-03 09:15:38 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a96d5d727207cfd5ce35d9c897e59440ed3f1ce

commit 4a96d5d727207cfd5ce35d9c897e59440ed3f1ce
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-03-03 09:15:17 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-03-03 09:15:28 +0000

    sys-apps/portage: stable revbump to 2.3.89-r1 for bug 711400
    
     #711400 emerge AttributeError: 'NoneType' object has no attribute 'depth'
    
    Bug: https://bugs.gentoo.org/706142
    Bug: https://bugs.gentoo.org/711400
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/{portage-2.3.89.ebuild => portage-2.3.89-r1.ebuild} | 3 +++
 1 file changed, 3 insertions(+)
Comment 3 Larry the Git Cow gentoo-dev 2020-03-04 10:27:41 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(-)