Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 836297 - sys-apps/portage-9999 breaks "equery files" and others (RecursionError: maximum recursion depth exceeded while calling a Python object)
Summary: sys-apps/portage-9999 breaks "equery files" and others (RecursionError: maxim...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-27 23:34 UTC by Kobboi
Modified: 2022-03-28 01:10 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2022-03-27 23:34:44 UTC
commit 18e5a8170c69aecd10f162918de571d85055ae81

$ equery files nautilus

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.9/equery", line 34, in <module>
    equery.main(sys.argv)
  File "/usr/lib/python3.9/site-packages/gentoolkit/equery/__init__.py", line 348, in main
    loaded_module = __import__(
  File "/usr/lib/python3.9/site-packages/gentoolkit/equery/files.py", line 22, in <module>
    from gentoolkit.query import Query
  File "/usr/lib/python3.9/site-packages/gentoolkit/query.py", line 30, in <module>
    from gentoolkit.package import Package
  File "/usr/lib/python3.9/site-packages/gentoolkit/package.py", line 67, in <module>
    default_settings = _NewPortageConfig(local_config=True)
  File "/usr/lib/python3.9/site-packages/gentoolkit/package.py", line 61, in _NewPortageConfig
    ret = portage.config(local_config=local_config,
  File "/usr/lib/python3.9/site-packages/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/portage/package/ebuild/config.py", line 1216, in __init__
    portage.data._init(self)
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 349, in _init
    elif portage_gid in os.getgroups():
  File "/usr/lib/python3.9/site-packages/portage/proxy/objectproxy.py", line 84, in __eq__
    return object.__getattribute__(self, "_get_target")() == other
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 305, in _get_target
    return _get_global(object.__getattribute__(self, "_name"))
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 167, in _get_global
    portage_uid = pwd.getpwnam(_get_global("_portage_username")).pw_uid
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 262, in _get_global
    v = portage.settings.get(env_key)
  File "/usr/lib/python3.9/site-packages/portage/proxy/objectproxy.py", line 22, in __getattribute__
    result = object.__getattribute__(self, "_get_target")()
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 808, in _get_target
    return _get_legacy_global(name)
  File "/usr/lib/python3.9/site-packages/portage/_legacy_globals.py", line 41, in _get_legacy_global
    portage.db = portage.create_trees(**kwargs)
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 654, in create_trees
    settings = config(
  File "/usr/lib/python3.9/site-packages/portage/package/ebuild/config.py", line 1216, in __init__
    portage.data._init(self)
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 349, in _init
    elif portage_gid in os.getgroups():
  File "/usr/lib/python3.9/site-packages/portage/proxy/objectproxy.py", line 84, in __eq__
    return object.__getattribute__(self, "_get_target")() == other
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 305, in _get_target
    return _get_global(object.__getattribute__(self, "_name"))
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 167, in _get_global
    portage_uid = pwd.getpwnam(_get_global("_portage_username")).pw_uid
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 262, in _get_global
    v = portage.settings.get(env_key)
  File "/usr/lib/python3.9/site-packages/portage/proxy/objectproxy.py", line 22, in __getattribute__
    result = object.__getattribute__(self, "_get_target")()
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 808, in _get_target
    return _get_legacy_global(name)
  File "/usr/lib/python3.9/site-packages/portage/_legacy_globals.py", line 41, in _get_legacy_global
    portage.db = portage.create_trees(**kwargs)
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 654, in create_trees
    settings = config(
  File "/usr/lib/python3.9/site-packages/portage/package/ebuild/config.py", line 1216, in __init__
    portage.data._init(self)
  File "/usr/lib/python3.9/site-packages/portage/data.py", line 349, in _init
    elif portage_gid in os.getgroups():


(...)

until

RecursionError: maximum recursion depth exceeded while calling a Python object




Reproducible: Always
Comment 1 Kobboi 2022-03-27 23:36:54 UTC
Works fine with portage-3.0.30-r1, moved back and forth to be sure.
Comment 2 Kobboi 2022-03-27 23:38:00 UTC
apps-gentoolkit-0.5.1-r1, I only now see that it also has a 9999 version...
Comment 3 Kobboi 2022-03-27 23:40:28 UTC
Unfortunately, using the live ebuild of gentoolkit (currently at cd4e85424c9a9d7b15862dafe35e337258dbafd9) does not fix this problem.
Comment 4 Kobboi 2022-03-27 23:46:19 UTC
Also breaking genlop-0.30.10-r2. Leaving this as a single bug for now since I don't know if this needs to be fixed in portage or in the tools that depend on it.
Comment 5 Larry the Git Cow gentoo-dev 2022-03-28 01:10:26 UTC
The bug has been closed via the following commit(s):

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

commit 0ad7157bcadf54bf39f28b0157355950b4c04f59
Author:     Kenneth Raplee <kenrap@kennethraplee.com>
AuthorDate: 2022-03-28 00:59:30 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-03-28 01:10:19 +0000

    Revert Portage settings refactor
    
    This partially reverts 18e5a8170c69aecd10f162918de571d85055ae81.
    
    Bug: https://bugs.gentoo.org/836298
    Bug: https://bugs.gentoo.org/836299
    Closes: https://bugs.gentoo.org/836297
    Signed-off-by: Kenneth Raplee <kenrap@kennethraplee.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 lib/portage/data.py | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)