GithubHelp home page GithubHelp logo

Comments (11)

Marco-Sulla avatar Marco-Sulla commented on June 12, 2024 1

TL;DR I'll accept a PR, but no official support to --with-assertion today

(--with-assertion) can help catch bugs and prevent unforeseen issues

I doubt it. frozendict has hundreds of tests and dozens of additional tests to seek for memory leaks and segfaults. I think this is enough for this little library.

Sometimes I needed to debug the C Extension compiling the extension itself with asserts, not Python.

I tried to built the package with -DNDEBUG or -UNDEBUG, the tests fail in both cases when Python is compiled with --with-assertion.

You have to compile the extension using a python without --with-assertion and with python3 setup.py c_debug BDIST_WHEEL_OR_WHATEVER, so in this way only assertions of the C Extension are enabled.

I managed to reproduce the problem using a gentoo/stage3 docker image, but I don't think integrating this into a regular CI pipeline might be straightforward. I am not aware of any image with assertion enabled, I unsuccessfully tried to search one before creating this issue.

In this case frozendict can't support --with-assertion officially, at least not for now. Too much complicated, benefits near to zero.

Someone can post a PR for this problem. It's not difficult. You have only to copy/paste the dictreviter_iternext into the frozendict code with a new name, change PyDict_Check in PyAnyDict_Check and let frozendict use the new function. I can help the volunteer, but no official support.

I leave the issue open, so it's more evident for users.

from python-frozendict.

Marco-Sulla avatar Marco-Sulla commented on June 12, 2024

Does the problem arise only with --with-assertion, or also without it?

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

The problem arises only with --with-assertion.

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

If I run pytest with additional -s parameter I got this:

test/test_frozendict.py::TestCFrozendict::test_reversed <- test/common.py python3.10: Objects/dictobject.c:4034: dictreviter_iternext: Assertion `PyDict_Check(d)' failed.
Fatal Python error: Aborted

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

Here is a gdb backtrace (with glibc-2.37):

warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44	pthread_kill.c: No such file or directory.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fa653beea1f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fa653ba1852 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fa653b8b4ad in __GI_abort () at abort.c:79
#4  0x00007fa653b8b3d5 in __assert_fail_base (fmt=0x7fa653cfeb58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7fa653fde1fb "PyDict_Check(d)", file=file@entry=0x7fa653fde075 "Objects/dictobject.c", line=line@entry=4034, function=function@entry=0x7fa653fded50 <__PRETTY_FUNCTION__.11> "dictreviter_iternext") at assert.c:92
#5  0x00007fa653b9a612 in __assert_fail (assertion=assertion@entry=0x7fa653fde1fb "PyDict_Check(d)", file=file@entry=0x7fa653fde075 "Objects/dictobject.c", line=line@entry=4034, function=function@entry=0x7fa653fded50 <__PRETTY_FUNCTION__.11> "dictreviter_iternext") at assert.c:101
#6  0x00007fa653e3d8e7 in dictreviter_iternext (di=0x7fa6455559e0) at Objects/dictobject.c:4034
#7  0x00007fa653de6610 in PyIter_Next (iter=<optimized out>) at Objects/abstract.c:2874
#8  0x00007fa653de675a in PySequence_Tuple (v=<optimized out>) at Objects/abstract.c:2083
#9  0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775809, args=0x555e6a3bf4c0, callable=<type at remote 0x7fa6540f0340>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#10 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775809, args=0x555e6a3bf4c0, callable=<type at remote 0x7fa6540f0340>) at ./Include/cpython/abstract.h:123
#11 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e8fc50, tstate=<optimized out>) at Python/ceval.c:5893
#12 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#13 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3bf340, for file /root/frozendict/test/common.py, line 187, in test_reversed (self=<TestCFrozendict at remote 0x7fa6455831f0>, fd=<frozendict.frozendict at remote 0x7fa645555670>, fd_dict={'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#14 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645513530, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#15 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=('fd', 'fd_dict'), nargsf=1, args=0x7fa6452c96d0, callable=<function at remote 0x7fa645513520>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#16 method_vectorcall (method=<optimized out>, args=0x7fa6452c96d8, nargsf=<optimized out>, kwnames=('fd', 'fd_dict')) at Objects/classobject.c:53
#17 0x00007fa653e038d9 in PyVectorcall_Call (callable=<method at remote 0x7fa6455979c0>, tuple=<optimized out>, kwargs=<optimized out>) at Objects/call.c:267
#18 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#19 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456cb2e0, for file /usr/lib/python3.10/site-packages/_pytest/python.py, line 194, in pytest_pyfunc_call (pyfuncitem=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#20 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645a350a0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#21 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#22 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3d38b0, for file /usr/lib/python3.10/site-packages/pluggy/_callers.py, line 80, in _multicall (hook_name='pytest_pyfunc_call', hook_impls=[<HookImpl at remote 0x7fa64575f4c0>], firstresult=True, __tracebackhide__=True, results=[], exception=None, only_new_style_wrappers=True, teardowns=[], hook_impl=<...>, args=[<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function a...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#23 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613a060, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#24 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64613a050>, args=0x555e6a3cfbb8, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#25 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3cfbb8, callable=<function at remote 0x7fa64613a050>) at ./Include/cpython/abstract.h:123
#26 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e90250, tstate=<optimized out>) at Python/ceval.c:5893
#27 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#28 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3cfa20, for file /usr/lib/python3.10/site-packages/pluggy/_manager.py, line 112, in _hookexec (self=<PytestPluginManager(project_name='pytest', _name2plugin={'140352118811440': <...>, 'pytestconfig': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_fa...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#29 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645df1910, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#30 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=5, args=0x555e6a3cc380, callable=<function at remote 0x7fa645df1900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#31 method_vectorcall (method=<optimized out>, args=0x555e6a3cc388, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:53
#32 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6457a6c00>, args=0x555e6a3cc388, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#33 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3cc388, callable=<method at remote 0x7fa6457a6c00>) at ./Include/cpython/abstract.h:123
#34 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e904c0, tstate=<optimized out>) at Python/ceval.c:5893
#35 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#36 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3cc200, for file /usr/lib/python3.10/site-packages/pluggy/_hooks.py, line 433, in __call__ (self=<_HookCaller at remote 0x7fa645799d00>, kwargs={'pyfuncitem': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': ...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#37 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613b650, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#38 0x00007fa653e04179 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, args=args@entry=0x7fff43e90620, nargsf=nargsf@entry=1, kwargs=kwargs@entry={'pyfuncitem': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher...(truncated)) at Objects/call.c:153
#39 0x00007fa653e0442a in _PyObject_Call_Prepend (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, obj=obj@entry=<_HookCaller at remote 0x7fa645799d00>, args=args@entry=(), kwargs=kwargs@entry={'pyfuncitem': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher...(truncated)) at Objects/call.c:431
#40 0x00007fa653e72f1c in slot_tp_call (self=<_HookCaller at remote 0x7fa645799d00>, args=(), kwds={'pyfuncitem': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher...(truncated)) at Objects/typeobject.c:7494
#41 0x00007fa653e03e58 in _PyObject_MakeTpCall (tstate=0x555e6a034920, callable=<_HookCaller at remote 0x7fa645799d00>, args=0x7fa645702f30, nargs=<optimized out>, keywords=('pyfuncitem',)) at Objects/call.c:215
#42 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('pyfuncitem',), nargsf=9223372036854775808, args=0x7fa645702f30, callable=<_HookCaller at remote 0x7fa645799d00>) at ./Include/cpython/abstract.h:123
#43 call_function (kwnames=('pyfuncitem',), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e907e0, tstate=<optimized out>) at Python/ceval.c:5893
#44 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#45 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa645702dc0, for file /usr/lib/python3.10/site-packages/_pytest/python.py, line 1788, in runtest (self=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Repres...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#46 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645a5c290, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#47 0x00007fa653db1a3c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775809, args=0x7fa6456cb278, callable=<function at remote 0x7fa645a5c280>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#48 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775809, args=0x7fa6456cb278, callable=<function at remote 0x7fa645a5c280>) at ./Include/cpython/abstract.h:123
#49 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e90980, tstate=<optimized out>) at Python/ceval.c:5893
#50 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4198
#51 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456cb100, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 169, in pytest_runtest_call (item=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#52 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599ed50, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#53 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#54 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3cb710, for file /usr/lib/python3.10/site-packages/pluggy/_callers.py, line 80, in _multicall (hook_name='pytest_runtest_call', hook_impls=[<HookImpl at remote 0x7fa64575e840>, <HookImpl at remote 0x7fa6457d4340>, <HookImpl at remote 0x7fa645640cc0>, <HookImpl at remote 0x7fa6456436c0>, <HookImpl at remote 0x7fa6457d7ec0>, <HookImpl at remote 0x7fa645640140>], firstresult=False, __tracebackhide__=True, results=[], exception=None, only_new_style_wrappers=False, teardowns=[(<generator at remote 0x7fa6456b8f20>,), (<generator at remote 0x7fa64540b0d0>,), (<generator at remote 0x7fa64540bae0>,), (<generator at remote 0x7fa64540b1b0>,), (<generator at remote 0x7fa64540a960>,)], hook_impl=<...>, args=[<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa6455...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#55 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613a060, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#56 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64613a050>, args=0x555e6a3d1ea8, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#57 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3d1ea8, callable=<function at remote 0x7fa64613a050>) at ./Include/cpython/abstract.h:123
#58 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e90d00, tstate=<optimized out>) at Python/ceval.c:5893
#59 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#60 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3d1d10, for file /usr/lib/python3.10/site-packages/pluggy/_manager.py, line 112, in _hookexec (self=<PytestPluginManager(project_name='pytest', _name2plugin={'140352118811440': <...>, 'pytestconfig': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_fa...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#61 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645df1910, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#62 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=5, args=0x555e6a3cdfe0, callable=<function at remote 0x7fa645df1900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#63 method_vectorcall (method=<optimized out>, args=0x555e6a3cdfe8, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:53
#64 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6457a7240>, args=0x555e6a3cdfe8, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#65 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3cdfe8, callable=<method at remote 0x7fa6457a7240>) at ./Include/cpython/abstract.h:123
#66 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e90f70, tstate=<optimized out>) at Python/ceval.c:5893
#67 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#68 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3cde60, for file /usr/lib/python3.10/site-packages/pluggy/_hooks.py, line 433, in __call__ (self=<_HookCaller at remote 0x7fa645799ee0>, kwargs={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_Scop...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#69 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613b650, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#70 0x00007fa653e04179 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, args=args@entry=0x7fff43e910d0, nargsf=nargsf@entry=1, kwargs=kwargs@entry={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/call.c:153
#71 0x00007fa653e0442a in _PyObject_Call_Prepend (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, obj=obj@entry=<_HookCaller at remote 0x7fa645799ee0>, args=args@entry=(), kwargs=kwargs@entry={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/call.c:431
#72 0x00007fa653e72f1c in slot_tp_call (self=<_HookCaller at remote 0x7fa645799ee0>, args=(), kwds={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/typeobject.c:7494
#73 0x00007fa653e03a8e in _PyObject_Call (tstate=0x555e6a034920, callable=<_HookCaller at remote 0x7fa645799ee0>, args=(), kwargs={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/call.c:305
#74 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#75 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa64550e710, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 262, in <lambda> (), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#76 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa6456d0f80, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#77 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775808, args=0x555e6a338de0, callable=<function at remote 0x7fa6456d0f70>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#78 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775808, args=0x555e6a338de0, callable=<function at remote 0x7fa6456d0f70>) at ./Include/cpython/abstract.h:123
#79 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e91420, tstate=<optimized out>) at Python/ceval.c:5893
#80 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#81 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a338c20, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 341, in from_call (cls=<type at remote 0x555e6a275ed0>, func=<function at remote 0x7fa6456d0f70>, when='call', reraise=(<type at remote 0x555e6a226290>, <type at remote 0x7fa6540e4180>), excinfo=None, start=<float at remote 0x7fa6452c9570>, precise_start=<float at remote 0x7fa6457c70f0>), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#82 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599f2f0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#83 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=('when', 'reraise'), nargsf=2, args=0x7fa6456cab18, callable=<function at remote 0x7fa64599f2e0>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#84 method_vectorcall (method=<optimized out>, args=0x7fa6456cab20, nargsf=<optimized out>, kwnames=('when', 'reraise')) at Objects/classobject.c:53
#85 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6452bec40>, args=0x7fa6456cab20, nargsf=9223372036854775809, kwnames=('when', 'reraise')) at ./Include/cpython/abstract.h:114
#86 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('when', 'reraise'), nargsf=9223372036854775809, args=0x7fa6456cab20, callable=<method at remote 0x7fa6452bec40>) at ./Include/cpython/abstract.h:123
#87 call_function (kwnames=('when', 'reraise'), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e91690, tstate=<optimized out>) at Python/ceval.c:5893
#88 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#89 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456ca980, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 261, in call_runtest_hook (when='call', reraise=(<type at remote 0x555e6a226290>, <type at remote 0x7fa6540e4180>)), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#90 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599f0b0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#91 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#92 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456ca7a0, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 222, in call_and_report (item=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n   ...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#93 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599ef90, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#94 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775811, args=0x7fa6456e5738, callable=<function at remote 0x7fa64599ef80>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#95 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775811, args=0x7fa6456e5738, callable=<function at remote 0x7fa64599ef80>) at ./Include/cpython/abstract.h:123
#96 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e919d0, tstate=<optimized out>) at Python/ceval.c:5893
#97 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#98 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456e5590, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 133, in runtestprotocol (item=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n   ...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#99 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599eba0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#100 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64599eb90>, args=0x7fa64550e1d0, nargsf=9223372036854775809, kwnames=('nextitem',)) at ./Include/cpython/abstract.h:114
#101 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('nextitem',), nargsf=9223372036854775809, args=0x7fa64550e1d0, callable=<function at remote 0x7fa64599eb90>) at ./Include/cpython/abstract.h:123
#102 call_function (kwnames=('nextitem',), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e91bb0, tstate=<optimized out>) at Python/ceval.c:5893
#103 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#104 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa64550e050, for file /usr/lib/python3.10/site-packages/_pytest/runner.py, line 114, in pytest_runtest_protocol (item=<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc_...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#105 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599eb10, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#106 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#107 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3d2260, for file /usr/lib/python3.10/site-packages/pluggy/_callers.py, line 80, in _multicall (hook_name='pytest_runtest_protocol', hook_impls=[<HookImpl at remote 0x7fa64575e940>, <HookImpl at remote 0x7fa645640640>, <HookImpl at remote 0x7fa64575fdc0>, <HookImpl at remote 0x7fa6457d5240>, <HookImpl at remote 0x7fa6457d7840>], firstresult=True, __tracebackhide__=True, results=[], exception=None, only_new_style_wrappers=False, teardowns=[(<generator at remote 0x7fa6456b8c80>,), (<generator at remote 0x7fa6456b8d60>,), (<generator at remote 0x7fa6456b8dd0>,), (<generator at remote 0x7fa6456b8e40>,)], hook_impl=<...>, args=[<Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozend...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#108 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613a060, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#109 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64613a050>, args=0x555e6a3d1348, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#110 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3d1348, callable=<function at remote 0x7fa64613a050>) at ./Include/cpython/abstract.h:123
#111 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e91f30, tstate=<optimized out>) at Python/ceval.c:5893
#112 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#113 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3d11b0, for file /usr/lib/python3.10/site-packages/pluggy/_manager.py, line 112, in _hookexec (self=<PytestPluginManager(project_name='pytest', _name2plugin={'140352118811440': <...>, 'pytestconfig': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_fa...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#114 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645df1910, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#115 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=5, args=0x555e6a3cf400, callable=<function at remote 0x7fa645df1900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#116 method_vectorcall (method=<optimized out>, args=0x555e6a3cf408, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:53
#117 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6457a77c0>, args=0x555e6a3cf408, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#118 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x555e6a3cf408, callable=<method at remote 0x7fa6457a77c0>) at ./Include/cpython/abstract.h:123
#119 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e921a0, tstate=<optimized out>) at Python/ceval.c:5893
#120 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#121 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3cf280, for file /usr/lib/python3.10/site-packages/pluggy/_hooks.py, line 433, in __call__ (self=<_HookCaller at remote 0x7fa64579a070>, kwargs={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_Scop...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#122 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613b650, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#123 0x00007fa653e04179 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, args=args@entry=0x7fff43e92300, nargsf=nargsf@entry=1, kwargs=kwargs@entry={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/call.c:153
#124 0x00007fa653e0442a in _PyObject_Call_Prepend (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, obj=obj@entry=<_HookCaller at remote 0x7fa64579a070>, args=args@entry=(), kwargs=kwargs@entry={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/call.c:431
#125 0x00007fa653e72f1c in slot_tp_call (self=<_HookCaller at remote 0x7fa64579a070>, args=(), kwds={'item': <Function(keywords=<NodeKeywords at remote 0x7fa645597a40>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa6455833d0>, _report_sections=[], user_properties=[], originalname='test_reversed', _obj=<method at remote 0x7fa6455979c0>, _fixtureinfo=<FuncFixtureInfo at remote 0x7fa645597880>, fixturenames=['fd', 'fd_dict'], funcargs={'fd': <frozendict.frozendict at remote 0x7fa645555670>, 'fd_dict': {'Guzzanti': 'Corrado', 'Hicks': 'Bill', <frozendict.frozendict at remote 0x7fa6455564d0>: 'frozen'}}, _request=<FixtureRequest(_pyfuncitem=<...>, fixturename=None, _scope=<Scope(_value_='function', _name_='Function', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.scope', __annotations__={'Function': '_ScopeName', 'Class': '_ScopeName', 'Module': '_ScopeName', 'Package': '_ScopeName', 'Session': '_ScopeName'}, __doc__='\n    Represents one of the possible fixture scopes in pytest.\n\n    Scopes are ordered from lower to higher, that...(truncated)) at Objects/typeobject.c:7494
#126 0x00007fa653e03e58 in _PyObject_MakeTpCall (tstate=0x555e6a034920, callable=<_HookCaller at remote 0x7fa64579a070>, args=0x7fa645686610, nargs=<optimized out>, keywords=('item', 'nextitem')) at Objects/call.c:215
#127 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('item', 'nextitem'), nargsf=9223372036854775808, args=0x7fa645686610, callable=<_HookCaller at remote 0x7fa64579a070>) at ./Include/cpython/abstract.h:123
#128 call_function (kwnames=('item', 'nextitem'), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e924c0, tstate=<optimized out>) at Python/ceval.c:5893
#129 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#130 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa645686480, for file /usr/lib/python3.10/site-packages/_pytest/main.py, line 349, in pytest_runtestloop (session=<Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.config', __doc__='Encodes the valid exit codes by pytest.\n\n    Currently users and plugins may supply other exit codes as well.\n\n    .. versionadded:: 5.0\n    ', _member_names_=['OK', 'TESTS_FAILED', 'INTERRUPTED', 'INTERNAL_ERROR', 'USAGE_ERROR', 'NO_T...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#131 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599fa40, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#132 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#133 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a3a7130, for file /usr/lib/python3.10/site-packages/pluggy/_callers.py, line 80, in _multicall (hook_name='pytest_runtestloop', hook_impls=[<HookImpl at remote 0x7fa64575e640>, <HookImpl at remote 0x7fa6456439c0>], firstresult=True, __tracebackhide__=True, results=[], exception=None, only_new_style_wrappers=False, teardowns=[(<generator at remote 0x7fa6454fc970>,)], hook_impl=<...>, args=[<Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e804...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#134 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613a060, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#135 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64613a050>, args=0x7fa64570b668, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#136 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x7fa64570b668, callable=<function at remote 0x7fa64613a050>) at ./Include/cpython/abstract.h:123
#137 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e92840, tstate=<optimized out>) at Python/ceval.c:5893
#138 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#139 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa64570b4d0, for file /usr/lib/python3.10/site-packages/pluggy/_manager.py, line 112, in _hookexec (self=<PytestPluginManager(project_name='pytest', _name2plugin={'140352118811440': <...>, 'pytestconfig': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_fa...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#140 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645df1910, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#141 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=5, args=0x7fa6456d9f80, callable=<function at remote 0x7fa645df1900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#142 method_vectorcall (method=<optimized out>, args=0x7fa6456d9f88, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:53
#143 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6457a7b40>, args=0x7fa6456d9f88, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#144 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x7fa6456d9f88, callable=<method at remote 0x7fa6457a7b40>) at ./Include/cpython/abstract.h:123
#145 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e92ab0, tstate=<optimized out>) at Python/ceval.c:5893
#146 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#147 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6456d9e00, for file /usr/lib/python3.10/site-packages/pluggy/_hooks.py, line 433, in __call__ (self=<_HookCaller at remote 0x7fa64579a160>, kwargs={'session': <Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.config', __doc__='Encodes the valid exit codes by pytest.\n\n    Currently users and plugins may supply other exit codes as well.\n\n    .. versionadded:: 5.0\n    ', _member_names_=['OK', 'TESTS_FAILED', 'INTER...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#148 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613b650, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#149 0x00007fa653e04179 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, args=args@entry=0x7fff43e92c10, nargsf=nargsf@entry=1, kwargs=kwargs@entry={'session': <Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.config', __doc__='Encodes the valid exit codes by pytest.\n\n    Currently users and plugins may supply other exit codes as well.\n\n    .. versionadded:: 5.0\n    ', _member_names_=['OK', 'TESTS_FAILED', 'INTERRUPTED', 'INTERNAL_ERROR', 'USAGE_ERROR', 'NO_TESTS_COLLECTED'], _member_map_={'OK': <...>, 'TESTS_FAILED': <ExitCode(_value_=1, _name_='TESTS_FAILED', __objc...(truncated)) at Objects/call.c:153
#150 0x00007fa653e0442a in _PyObject_Call_Prepend (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, obj=obj@entry=<_HookCaller at remote 0x7fa64579a160>, args=args@entry=(), kwargs=kwargs@entry={'session': <Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.config', __doc__='Encodes the valid exit codes by pytest.\n\n    Currently users and plugins may supply other exit codes as well.\n\n    .. versionadded:: 5.0\n    ', _member_names_=['OK', 'TESTS_FAILED', 'INTERRUPTED', 'INTERNAL_ERROR', 'USAGE_ERROR', 'NO_TESTS_COLLECTED'], _member_map_={'OK': <...>, 'TESTS_FAILED': <ExitCode(_value_=1, _name_='TESTS_FAILED', __objc...(truncated)) at Objects/call.c:431
#151 0x00007fa653e72f1c in slot_tp_call (self=<_HookCaller at remote 0x7fa64579a160>, args=(), kwds={'session': <Session(keywords=<NodeKeywords at remote 0x7fa645806300>, own_markers=[], extra_keyword_matches=set(), stash=<Stash at remote 0x7fa645781b10>, testsfailed=0, testscollected=482, shouldstop=False, shouldfail=False, trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at remote 0x7fa6462f5ed0>, tags=('collection',)) at remote 0x7fa645783370>, _initialpaths=frozenset({<PosixPath at remote 0x7fa6456ad660>}), _bestrelpathcache=<_bestrelpath_cache at remote 0x7fa645622200>, exitstatus=<ExitCode(_value_=0, _name_='OK', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7fa6461e8040>, __module__='_pytest.config', __doc__='Encodes the valid exit codes by pytest.\n\n    Currently users and plugins may supply other exit codes as well.\n\n    .. versionadded:: 5.0\n    ', _member_names_=['OK', 'TESTS_FAILED', 'INTERRUPTED', 'INTERNAL_ERROR', 'USAGE_ERROR', 'NO_TESTS_COLLECTED'], _member_map_={'OK': <...>, 'TESTS_FAILED': <ExitCode(_value_=1, _name_='TESTS_FAILED', __objc...(truncated)) at Objects/typeobject.c:7494
#152 0x00007fa653e03e58 in _PyObject_MakeTpCall (tstate=0x555e6a034920, callable=<_HookCaller at remote 0x7fa64579a160>, args=0x7fa6457b01b8, nargs=<optimized out>, keywords=('session',)) at Objects/call.c:215
#153 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('session',), nargsf=9223372036854775808, args=0x7fa6457b01b8, callable=<_HookCaller at remote 0x7fa64579a160>) at ./Include/cpython/abstract.h:123
#154 call_function (kwnames=('session',), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e92dd0, tstate=<optimized out>) at Python/ceval.c:5893
#155 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#156 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6457b0040, for file /usr/lib/python3.10/site-packages/_pytest/main.py, line 324, in _main (config=<Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=False, usepdb=Fal...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#157 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599f920, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#158 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775810, args=0x555e6a3277a0, callable=<function at remote 0x7fa64599f910>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#159 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775810, args=0x555e6a3277a0, callable=<function at remote 0x7fa64599f910>) at ./Include/cpython/abstract.h:123
#160 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e92f70, tstate=<optimized out>) at Python/ceval.c:5893
#161 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#162 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a327600, for file /usr/lib/python3.10/site-packages/_pytest/main.py, line 270, in wrap_session (config=<Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=False, use...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#163 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599f800, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#164 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775810, args=0x7fa645694eb0, callable=<function at remote 0x7fa64599f7f0>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#165 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775810, args=0x7fa645694eb0, callable=<function at remote 0x7fa64599f7f0>) at ./Include/cpython/abstract.h:123
#166 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93110, tstate=<optimized out>) at Python/ceval.c:5893
#167 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#168 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa645694d40, for file /usr/lib/python3.10/site-packages/_pytest/main.py, line 317, in pytest_cmdline_main (config=<Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=Fal...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#169 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64599f890, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#170 0x00007fa653daf580 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4277
#171 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a30ea50, for file /usr/lib/python3.10/site-packages/pluggy/_callers.py, line 80, in _multicall (hook_name='pytest_cmdline_main', hook_impls=[<HookImpl at remote 0x7fa64575e440>, <HookImpl at remote 0x7fa64575efc0>, <HookImpl at remote 0x7fa64575f1c0>, <HookImpl at remote 0x7fa64575f840>, <HookImpl at remote 0x7fa64575e140>, <HookImpl at remote 0x7fa64575fec0>, <HookImpl at remote 0x7fa6457d70c0>], firstresult=True, __tracebackhide__=True, results=[], exception=None, only_new_style_wrappers=True, teardowns=[], hook_impl=<...>, args=[<Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showloc...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#172 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613a060, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#173 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa64613a050>, args=0x7fa645684cb8, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#174 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x7fa645684cb8, callable=<function at remote 0x7fa64613a050>) at ./Include/cpython/abstract.h:123
#175 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93490, tstate=<optimized out>) at Python/ceval.c:5893
#176 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#177 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa645684b20, for file /usr/lib/python3.10/site-packages/pluggy/_manager.py, line 112, in _hookexec (self=<PytestPluginManager(project_name='pytest', _name2plugin={'140352118811440': <...>, 'pytestconfig': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_fa...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#178 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645df1910, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#179 0x00007fa653e06f62 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=5, args=0x7fa64566d500, callable=<function at remote 0x7fa645df1900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#180 method_vectorcall (method=<optimized out>, args=0x7fa64566d508, nargsf=<optimized out>, kwnames=0x0) at Objects/classobject.c:53
#181 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<method at remote 0x7fa6457a5180>, args=0x7fa64566d508, nargsf=9223372036854775812, kwnames=0x0) at ./Include/cpython/abstract.h:114
#182 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775812, args=0x7fa64566d508, callable=<method at remote 0x7fa6457a5180>) at ./Include/cpython/abstract.h:123
#183 call_function (kwnames=0x0, oparg=4, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93700, tstate=<optimized out>) at Python/ceval.c:5893
#184 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#185 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa64566d380, for file /usr/lib/python3.10/site-packages/pluggy/_hooks.py, line 433, in __call__ (self=<_HookCaller at remote 0x7fa6457994e0>, kwargs={'config': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepw...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#186 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64613b650, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#187 0x00007fa653e04179 in _PyObject_FastCallDictTstate (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, args=args@entry=0x7fff43e93860, nargsf=nargsf@entry=1, kwargs=kwargs@entry={'config': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=False, usepdb=False, usepdb_cls=None, trace=False, lf=False, failedfirst=False, newfirst=False, cacheshow=None, cac...(truncated)) at Objects/call.c:153
#188 0x00007fa653e0442a in _PyObject_Call_Prepend (tstate=tstate@entry=0x555e6a034920, callable=callable@entry=<function at remote 0x7fa64613b640>, obj=obj@entry=<_HookCaller at remote 0x7fa6457994e0>, args=args@entry=(), kwargs=kwargs@entry={'config': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=False, usepdb=False, usepdb_cls=None, trace=False, lf=False, failedfirst=False, newfirst=False, cacheshow=None, cac...(truncated)) at Objects/call.c:431
#189 0x00007fa653e72f1c in slot_tp_call (self=<_HookCaller at remote 0x7fa6457994e0>, args=(), kwds={'config': <Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_disable=[], markers=False, usepdb=False, usepdb_cls=None, trace=False, lf=False, failedfirst=False, newfirst=False, cacheshow=None, cac...(truncated)) at Objects/typeobject.c:7494
#190 0x00007fa653e03e58 in _PyObject_MakeTpCall (tstate=0x555e6a034920, callable=<_HookCaller at remote 0x7fa6457994e0>, args=0x555e6a1911f0, nargs=<optimized out>, keywords=('config',)) at Objects/call.c:215
#191 0x00007fa653db110a in PyObject_Vectorcall (kwnames=('config',), nargsf=9223372036854775808, args=0x555e6a1911f0, callable=<_HookCaller at remote 0x7fa6457994e0>) at ./Include/cpython/abstract.h:123
#192 call_function (kwnames=('config',), oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93a20, tstate=<optimized out>) at Python/ceval.c:5893
#193 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4231
#194 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a191030, for file /usr/lib/python3.10/site-packages/_pytest/config/__init__.py, line 166, in main (args=None, plugins=None, config=<Config(option=<Namespace(keyword='', markexpr='', maxfail=0, continue_on_collection_errors=False, confcutdir=None, noconftest=False, keepduplicates=False, collect_in_virtualenv=False, importmode='prepend', basetemp=None, durations=None, durations_min=<float at remote 0x7fa645b3d110>, version=0, plugins=[], traceconfig=False, showfixtures=False, show_fixtures_per_test=False, verbose=2, no_header=False, no_summary=False, reportchars='fE', disable_warnings=False, showlocals=False, tbstyle='auto', showcapture='all', fulltrace=False, color='auto', code_highlight='yes', capture='no', runxfail=False, pastebin=None, assertmode='rewrite', xmlpath=None, junitprefix=None, doctestmodules=False, doctestreport='udiff', doctestglob=[], doctest_ignore_import_errors=False, doctest_continue_on_failure=False, last_failed_no_failures='all', stepwise=False, stepwise_skip=False, logger_di...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#195 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645c03b60, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#196 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775808, args=0x7fa6463389b8, callable=<function at remote 0x7fa645c03b50>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#197 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775808, args=0x7fa6463389b8, callable=<function at remote 0x7fa645c03b50>) at ./Include/cpython/abstract.h:123
#198 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93bc0, tstate=<optimized out>) at Python/ceval.c:5893
#199 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#200 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa646338840, for file /usr/lib/python3.10/site-packages/_pytest/config/__init__.py, line 189, in console_main (), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#201 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa645c03bf0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#202 0x00007fa653eeca67 in _PyObject_VectorcallTstate (tstate=0x555e6a034920, callable=<function at remote 0x7fa645c03be0>, args=0x7fa6463385b8, nargsf=9223372036854775808, kwnames=0x0) at ./Include/cpython/abstract.h:114
#203 0x00007fa653db4225 in PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775808, args=0x7fa6463385b8, callable=<function at remote 0x7fa645c03be0>) at ./Include/cpython/abstract.h:123
#204 call_function (kwnames=0x0, oparg=0, pp_stack=<synthetic pointer>, trace_info=0x7fff43e93da0, tstate=<optimized out>) at Python/ceval.c:5893
#205 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4181
#206 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa646338440, for file /usr/lib/python3.10/site-packages/pytest/__main__.py, line 5, in <module> (), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#207 _PyEval_Vector (tstate=tstate@entry=0x555e6a034920, con=con@entry=0x7fff43e93e90, locals=locals@entry={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0) at Python/ceval.c:5067
#208 0x00007fa653ef1f72 in PyEval_EvalCode (co=co@entry=<code at remote 0x7fa646313100>, globals=globals@entry={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}, locals=locals@entry={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}) at Python/ceval.c:1134
#209 0x00007fa653ee8e5a in builtin_exec_impl (module=<optimized out>, locals={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}, globals={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}, source=<code at remote 0x7fa646313100>) at Python/bltinmodule.c:1058
#210 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>) at Python/clinic/bltinmodule.c.h:371
#211 0x00007fa653e4dbf3 in cfunction_vectorcall_FASTCALL (func=<built-in method exec of module object at remote 0x7fa646428900>, args=0x555e6a0a4e88, nargsf=<optimized out>, kwnames=0x0) at Objects/methodobject.c:430
#212 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775810, args=0x555e6a0a4e88, callable=<built-in method exec of module object at remote 0x7fa646428900>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#213 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775810, args=0x555e6a0a4e88, callable=<built-in method exec of module object at remote 0x7fa646428900>) at ./Include/cpython/abstract.h:123
#214 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e94050, tstate=<optimized out>) at Python/ceval.c:5893
#215 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#216 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x555e6a0a4cd0, for file /usr/lib/python3.10/runpy.py, line 86, in _run_code (code=<code at remote 0x7fa646313100>, run_globals={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, '__spec__': <ModuleSpec(name='pytest.__main__', loader=<...>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64616c860>}, init_globals=None, mod_name='__main__', mod_spec=<...>, pkg_na...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#217 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa64631ae70, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#218 0x00007fa653db10b9 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775813, args=0x7fa6463bbde0, callable=<function at remote 0x7fa64631ae60>, tstate=0x555e6a034920) at ./Include/cpython/abstract.h:114
#219 PyObject_Vectorcall (kwnames=0x0, nargsf=9223372036854775813, args=0x7fa6463bbde0, callable=<function at remote 0x7fa64631ae60>) at ./Include/cpython/abstract.h:123
#220 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fff43e941f0, tstate=<optimized out>) at Python/ceval.c:5893
#221 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:4213
#222 0x00007fa653ef1ca4 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7fa6463bbc40, for file /usr/lib/python3.10/runpy.py, line 196, in _run_module_as_main (mod_name='pytest.__main__', alter_argv=True, mod_spec=<ModuleSpec(name='pytest.__main__', loader=<SourceFileLoader(name='pytest.__main__', path='/usr/lib/python3.10/site-packages/pytest/__main__.py') at remote 0x7fa646372dd0>, origin='/usr/lib/python3.10/site-packages/pytest/__main__.py', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached='/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc') at remote 0x7fa645780c40>, code=<code at remote 0x7fa646313100>, main_globals={'__name__': '__main__', '__doc__': 'The pytest entry point.', '__package__': 'pytest', '__loader__': <...>, '__spec__': <...>, '__annotations__': {}, '__builtins__': <module at remote 0x7fa646428900>, '__file__': '/usr/lib/python3.10/site-packages/pytest/__main__.py', '__cached__': '/usr/lib/python3.10/site-packages/pytest/__pycache__/__main__.cpython-310.pyc', 'pytest': <module at remote 0x7fa64...(truncated), tstate=0x555e6a034920) at ./Include/internal/pycore_ceval.h:46
#223 _PyEval_Vector (tstate=0x555e6a034920, con=0x7fa6461817f0, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>) at Python/ceval.c:5067
#224 0x00007fa653f581ba in pymain_run_module (modname=<optimized out>, set_argv0=set_argv0@entry=1) at Modules/main.c:293
#225 0x00007fa653f58742 in pymain_run_python (exitcode=0x7fff43e94330) at Modules/main.c:581
#226 Py_RunMain () at Modules/main.c:666
#227 0x00007fa653f590da in pymain_main (args=0x7fff43e94430) at Modules/main.c:696
#228 Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:720
#229 0x00007fa653b8c74a in __libc_start_call_main (main=main@entry=0x555e681bd050 <main>, argc=argc@entry=4, argv=argv@entry=0x7fff43e945b8) at ../sysdeps/nptl/libc_start_call_main.h:58
#230 0x00007fa653b8c805 in __libc_start_main_impl (main=0x555e681bd050 <main>, argc=4, argv=0x7fff43e945b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff43e945a8) at ../csu/libc-start.c:360
#231 0x0000555e681bd081 in _start ()
A debugging session is active.

	Inferior 1 [process 3516] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

Here is more verbose log from gdb: gdb-backtrace-full.txt

from python-frozendict.

Marco-Sulla avatar Marco-Sulla commented on June 12, 2024

Well, this stacktrace, together with the info about your py version, is enough. Maybe you want to put your long stacktraces on pastebin.com .

The problem is simple: frozendict uses the internal dictreviter_iternext function, without reimplementing it. And on line 4027 of dictobject.c it has an

assert (PyDict_Check(d))

that fails, because frozendict in the C extension "inherits" only from Mapping, not from dict. This is by design, not an accident.

I could rewrite the entire dictreviter_iternext function, but this means I have to maintain additional code. Additional boring code if I may say (I think I used reversed() on a dict zero times in my life).

Why do you need --with-assertion?

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

In Gentoo users in general can choose to install python --with-assertion for a variety of reasons. Some of our testing environments are configured this way to help catch bugs and make sure the code is as safe and stable as possible. Assertions are for us the way to verify that code won't explode randomly in user's faces.

from python-frozendict.

Marco-Sulla avatar Marco-Sulla commented on June 12, 2024

--with-assertion is helpful only to debug Python itself. If you are a CPython dev, ok.

On the contrary, I suppose what you are searching for is to compile frozendict undefining the NDEBUG macro, or running the setup.py of frozendict with the custom arg c_debug:

python3 setup.py c_debug bdist_wheel

from python-frozendict.

Marco-Sulla avatar Marco-Sulla commented on June 12, 2024

Furthermore, frozendict uses cibuildwheel for testing and building. And, for what I know, cibuildwheel does not support images with Python compiled with assertions.

Do you know a CI/CD tool for Github that uses assertions? How is your pipeline?

from python-frozendict.

arkamar avatar arkamar commented on June 12, 2024

I'd like to comment on the --with-assertion usage. While it's indeed primarily useful for Python core developers, it's also beneficial for developers of native extensions. It can help catch bugs and prevent unforeseen issues, which is why we enable it in our Gentoo testing environments.

I tried to built the package with -DNDEBUG or -UNDEBUG, the tests fail in both cases when Python is compiled with --with-assertion.

As for the image with assertion enabled, we're not using a specific one. The issue was discovered through our Gentoo tinderbox testing process, which you can learn more about here: https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/. I managed to reproduce the problem using a gentoo/stage3 docker image, but I don't think integrating this into a regular CI pipeline might be straightforward. I am not aware of any image with assertion enabled, I unsuccessfully tried to search one before creating this issue.

from python-frozendict.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.