Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Python develop mode issues (3.8 and 3.9+) on macOS #2422

Closed
henryiii opened this issue Aug 21, 2020 · 7 comments · Fixed by #2685
Closed

[BUG] Python develop mode issues (3.8 and 3.9+) on macOS #2422

henryiii opened this issue Aug 21, 2020 · 7 comments · Fixed by #2685
Assignees
Labels

Comments

@henryiii
Copy link
Collaborator

henryiii commented Aug 21, 2020

I haven't been testing against debug Python before, so it could be something on my end, but I'm getting segfaults when building and running against debug Python.

Python 3.8:

git checkout v3.8.5
./configure --with-pydebug --with-openssl=$(brew --prefix openssl) --prefix $PWD/install38
make -j8
make install
./install38/bin/python3 -m pip install pytest
cd -
cmake -S . -B build-debug -DCMAKE_BUILD_TYPE=Debug -DPYBIND11_FINDPYTHON=ON -DPython_ROOT=~/git/software/cpython/install38
cmake --build build-debug38
cd build-debug38/tests
~/git/software/cpython/install38/bin/python3 -m pytest
lldb ~/git/software/cpython/install38/bin/python3
(lldb) r -m pytest
Click to see output

Process 12007 launched: '/Users/henryschreiner/git/software/cpython/install38/bin/python3' (x86_64)
/Users/henryschreiner/git/software/cpython/install38/lib/python3.8/site-packages/_pytest/compat.py:340: PytestDeprecationWarning: The TerminalReporter.writer attribute is deprecated, use TerminalReporter._tw instead at your own risk.
See https://docs.pytest.org/en/stable/deprecations.html#terminalreporter-writer for more information.
  return getattr(object, name, default)
============================= test session starts ==============================
platform darwin -- Python 3.8.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
rootdir: /Users/henryschreiner/git/software/pybind11/build-debug38/tests, configfile: pytest.ini, testpaths: /Users/henryschreiner/git/software/pybind11/tests
collected 273 items / 5 skipped / 268 selected

test_async.py ..                                                         [  0%]
test_builtin_casters.py ....s........s..                                 [  6%]
test_call_policies.py ........                                           [  9%]
test_callbacks.py .........                                              [ 12%]
test_chrono.py ...........                                               [ 16%]
test_class.py .....................                                      [ 24%]
test_constants_and_functions.py ....                                     [ 26%]
test_copy_move.py ....s..                                                [ 28%]
test_custom_type_casters.py ..                                           [ 29%]
test_docstring_options.py .                                              [ 29%]
test_enum.py ......                                                      [ 31%]
test_eval.py ..                                                          [ 32%]
test_exceptions.py .........                                             [ 35%]
test_factory_constructors.py .........                                   [ 39%]
test_gil_scoped.py <frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.TestFactory3' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.NoisyAlloc' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.Pickleable' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.PickleableWithDict' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
.<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.TestFactory3' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.NoisyAlloc' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.Pickleable' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.PickleableWithDict' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
X<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.TestFactory3' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.NoisyAlloc' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.Pickleable' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.PickleableWithDict' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
.<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.TestFactory3' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.factory_constructors.NoisyAlloc' is using an old-style placement-new '__init__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.Pickleable' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
<frozen importlib._bootstrap>:219: FutureWarning: pybind11-bound class 'pybind11_tests.pickling.PickleableWithDict' is using an old-style placement-new '__setstate__' which has been deprecated. See the upgrade guide in pybind11's docs. This message is only visible when compiled in debug mode.
X.                                                 [ 41%]
test_iostream.py ............                                            [ 45%]
test_kwargs_and_defaults.py ......                                       [ 47%]
test_local_bindings.py ..........                                        [ 51%]
test_methods_and_attributes.py ..............Assertion failed: (!PyErr_Occurred()), function _PyType_Lookup, file Objects/typeobject.c, line 3126.
Process 12007 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff72be833a libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff72be833a <+10>: jae    0x7fff72be8344            ; <+20>
    0x7fff72be833c <+12>: movq   %rax, %rdi
    0x7fff72be833f <+15>: jmp    0x7fff72be2629            ; cerror_nocancel
    0x7fff72be8344 <+20>: retq
Target 0: (python3) stopped.
(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff72be833a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff72ca4e60 libsystem_pthread.dylib`pthread_kill + 430
    frame #2: 0x00007fff72b6f808 libsystem_c.dylib`abort + 120
    frame #3: 0x00007fff72b6eac6 libsystem_c.dylib`__assert_rtn + 314
    frame #4: 0x00000001000de28d python3`_PyType_Lookup(type=0x00000001003e1670, name=0x000000010445e820) at typeobject.c:3126:5
    frame #5: 0x00000001000bfd77 python3`_PyObject_GenericGetAttrWithDict(obj=0x000000010443a530, name=0x000000010445e820, dict=0x0000000000000000, suppress=0) at object.c:1247:13
    frame #6: 0x00000001000bfca3 python3`PyObject_GenericGetAttr(obj=0x000000010443a530, name=0x000000010445e820) at object.c:1335:12
    frame #7: 0x00000001000bb97e python3`module_getattro(m=0x000000010443a530, name=0x000000010445e820) at moduleobject.c:730:12
    frame #8: 0x00000001000bf403 python3`PyObject_GetAttr(v=0x000000010443a530, name=0x000000010445e820) at object.c:941:16
    frame #9: 0x00000001000bf344 python3`PyObject_GetAttrString(v=0x000000010443a530, name="should_fail") at object.c:846:11
    frame #10: 0x000000013803c967 pybind11_tests.cpython-38-darwin.so`pybind11::getattr(obj=handle @ 0x00007ffeefbc6d78, name="should_fail", default_=handle @ 0x00007ffeefbc6d70) at pytypes.h:439:28
    frame #11: 0x00000001384b9849 pybind11_tests.cpython-38-darwin.so`pybind11::module& pybind11::module::def<test_submodule_methods_and_attributes(pybind11::module&)::$_16::operator()() const::'lambda'(int, UnregisteredType), pybind11::arg, pybind11::arg_v>(this=0x00007ffeefbc6ec0, name_="should_fail", f=0x00007ffeefbc6eb8, extra=0x00007ffeefbc6ea8, extra=0x00007ffeefbc6e60)::$_16::operator()() const::'lambda'(int, UnregisteredType)&&, pybind11::arg const&, pybind11::arg_v const&) at pybind11.h:856:35
    frame #12: 0x00000001384b975e pybind11_tests.cpython-38-darwin.so`test_submodule_methods_and_attributes(this=0x0000000104529c78)::$_16::operator()() const at test_methods_and_attributes.cpp:312:11
    frame #13: 0x00000001384b96c5 pybind11_tests.cpython-38-darwin.so`void pybind11::detail::argument_loader<>::call_impl<void, test_submodule_methods_and_attributes(this=0x00007ffeefbc6f90, f=0x0000000104529c78, (null)=index_sequence<> @ 0x00007ffeefbc6ef8, (null)=0x00007ffeefbc6f20)::$_16&, pybind11::detail::void_type>(test_submodule_methods_and_attributes(pybind11::module&)::$_16&, pybind11::detail::index_sequence<>, pybind11::detail::void_type&&) && at cast.h:2013:16
    frame #14: 0x00000001384b9696 pybind11_tests.cpython-38-darwin.so`std::__1::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<>::call<void, pybind11::detail::void_type, test_submodule_methods_and_attributes(this=0x00007ffeefbc6f90, f=0x0000000104529c78)::$_16&>(test_submodule_methods_and_attributes(pybind11::module&)::$_16&) && at cast.h:1990:35
    frame #15: 0x00000001384b9612 pybind11_tests.cpython-38-darwin.so`void pybind11::cpp_function::initialize<test_submodule_methods_and_attributes(pybind11::module&)::$_16, void, pybind11::name, pybind11::scope, pybind11::sibling>(this=0x00007ffeefbc7600, call=0x00007ffeefbc7600)::$_16&&, void (*)(), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&)::'lambda'(pybind11::detail::function_call&)::operator()(pybind11::detail::function_call&) const at pybind11.h:178:52
    frame #16: 0x00000001384b9575 pybind11_tests.cpython-38-darwin.so`void pybind11::cpp_function::initialize<test_submodule_methods_and_attributes(pybind11::module&)::$_16, void, pybind11::name, pybind11::scope, pybind11::sibling>(call=0x00007ffeefbc7600)::$_16&&, void (*)(), pybind11::name const&, pybind11::scope const&, pybind11::sibling const&)::'lambda'(pybind11::detail::function_call&)::__invoke(pybind11::detail::function_call&) at pybind11.h:155:21
    frame #17: 0x000000013801c936 pybind11_tests.cpython-38-darwin.so`pybind11::cpp_function::dispatcher(self=0x0000000104494180, args_in=0x000000010068b050, kwargs_in=0x0000000000000000) at pybind11.h:651:30
    frame #18: 0x0000000100042a01 python3`cfunction_call_varargs(func=0x0000000104456ad0, args=0x000000010068b050, kwargs=0x0000000000000000) at call.c:742:18
    frame #19: 0x0000000100044e2c python3`PyCFunction_Call(func=0x0000000104456ad0, args=0x000000010068b050, kwargs=0x0000000000000000) at call.c:772:16
    frame #20: 0x0000000100041c50 python3`_PyObject_MakeTpCall(callable=0x0000000104456ad0, args=0x0000000104121088, nargs=0, keywords=0x0000000000000000) at call.c:159:18
    frame #21: 0x00000001001ee01a python3`_PyObject_Vectorcall(callable=0x0000000104456ad0, args=0x0000000104121088, nargsf=9223372036854775808, kwnames=0x0000000000000000) at abstract.h:125:16
    frame #22: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbc7dd0, oparg=0, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #23: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x0000000104120ec0, throwflag=0) at ceval.c:3469:23
    frame #24: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000104120ec0, throwflag=0) at ceval.c:741:12
    frame #25: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x000000010634e110, globals=0x00000001063406b0, locals=0x0000000000000000, args=0x0000000106488240, argcount=0, kwnames=0x00000001064619c8, kwargs=0x0000000106488240, kwcount=1, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010634a700, qualname=0x000000010634a700) at ceval.c:4298:14
    frame #26: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x000000010634fcd0, stack=0x0000000106488240, nargsf=0, kwnames=0x00000001064619b0) at call.c:435:12
    frame #27: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x000000010634fcd0, tuple=0x000000010068b050, kwargs=0x000000010635f6b0) at call.c:199:24
    frame #28: 0x0000000100042672 python3`PyObject_Call(callable=0x000000010634fcd0, args=0x000000010068b050, kwargs=0x000000010635f6b0) at call.c:227:16
    frame #29: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x000000010634fcd0, callargs=0x000000010068b050, kwdict=0x000000010635f6b0) at ceval.c:5010:12
    frame #30: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x00000001064577d0, throwflag=0) at ceval.c:3559:22
    frame #31: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064577d0, throwflag=0) at ceval.c:741:12
    frame #32: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103e08ad0, globals=0x0000000103e09fb0, locals=0x0000000000000000, args=0x000000010646ebf8, argcount=1, kwnames=0x0000000000000000, kwargs=0x000000010646ec00, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103cc8e20, qualname=0x0000000103cc8e20) at ceval.c:4298:14
    frame #33: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103e28190, stack=0x000000010646ebf8, nargsf=1, kwnames=0x0000000000000000) at call.c:435:12
    frame #34: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103e28190, tuple=0x000000010646ebe0, kwargs=0x0000000000000000) at call.c:199:24
    frame #35: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103e28190, args=0x000000010646ebe0, kwargs=0x0000000000000000) at call.c:227:16
    frame #36: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103e28190, callargs=0x000000010646ebe0, kwdict=0x0000000000000000) at ceval.c:5010:12
    frame #37: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x0000000104107a10, throwflag=0) at ceval.c:3559:22
    frame #38: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000104107a10, throwflag=0) at ceval.c:741:12
    frame #39: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103ab6d40, globals=0x0000000103aadd10, locals=0x0000000000000000, args=0x00000001064e13b8, argcount=2, kwnames=0x0000000103aa0658, kwargs=0x00000001064e13c8, kwcount=1, kwstep=1, defs=0x0000000103ab4c98, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103ab78e0, qualname=0x0000000103ab78e0) at ceval.c:4298:14
    frame #40: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ab3550, stack=0x00000001064e13b8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at call.c:435:12
    frame #41: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103ab3550, args=0x00000001064e13b8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at abstract.h:127:11
    frame #42: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbcc318, oparg=3, kwnames=0x0000000103aa0640) at ceval.c:4963:13
    frame #43: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x00000001064e1230, throwflag=0) at ceval.c:3515:19
    frame #44: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064e1230, throwflag=0) at ceval.c:741:12
    frame #45: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103aa3520, globals=0x0000000103aa1230, locals=0x0000000000000000, args=0x0000000101590d08, argcount=3, kwnames=0x0000000000000000, kwargs=0x0000000101590d20, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000101479b80, qualname=0x0000000103aa90c0) at ceval.c:4298:14
    frame #46: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101379c30, stack=0x0000000101590d08, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #47: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101379c30, args=0x0000000101590d08, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #48: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbcda30, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #49: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x0000000101590b70, throwflag=0) at ceval.c:3469:23
    frame #50: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101590b70, throwflag=0) at ceval.c:741:12
    frame #51: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103aa36c0, args=0x0000000106457f20, nargs=4, globals=0x0000000103aa1230) at call.c:283:14
    frame #52: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103bb24b0, stack=0x0000000106457f00, nargsf=4, kwnames=0x0000000000000000) at call.c:410:20
    frame #53: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103bb24b0, args=0x0000000106457f00, nargsf=4, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #54: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000103f42cb0, args=0x0000000106457f08, nargsf=9223372036854775811, kwnames=0x0000000000000000) at classobject.c:60:18
    frame #55: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103f42cb0, args=0x0000000106457f08, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #56: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbcf0d0, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #57: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x0000000106457d70, throwflag=0) at ceval.c:3469:23
    frame #58: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000106457d70, throwflag=0) at ceval.c:741:12
    frame #59: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103abb040, globals=0x0000000103ab0a10, locals=0x0000000000000000, args=0x00000001064d7790, argcount=1, kwnames=0x000000010644a5b8, kwargs=0x00000001064d7798, kwcount=1, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010068c340, qualname=0x0000000103ab9d60) at ceval.c:4298:14
    frame #60: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ac2370, stack=0x00000001064d7790, nargsf=1, kwnames=0x000000010644a5a0) at call.c:435:12
    frame #61: 0x00000001000416b6 python3`_PyObject_FastCallDict(callable=0x0000000103ac2370, args=0x00007ffeefbd03b0, nargsf=1, kwargs=0x000000010635f7d0) at call.c:104:15
    frame #62: 0x0000000100045355 python3`_PyObject_Call_Prepend(callable=0x0000000103ac2370, obj=0x0000000103f43d20, args=0x000000010068b050, kwargs=0x000000010635f7d0) at call.c:887:14
    frame #63: 0x00000001000e7383 python3`slot_tp_call(self=0x0000000103f43d20, args=0x000000010068b050, kwds=0x000000010635f7d0) at typeobject.c:6553:15
    frame #64: 0x0000000100041c50 python3`_PyObject_MakeTpCall(callable=0x0000000103f43d20, args=0x000000010646cd08, nargs=0, keywords=0x0000000103e26190) at call.c:159:18
    frame #65: 0x00000001001ee01a python3`_PyObject_Vectorcall(callable=0x0000000103f43d20, args=0x000000010646cd08, nargsf=9223372036854775808, kwnames=0x0000000103e26190) at abstract.h:125:16
    frame #66: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbd0968, oparg=1, kwnames=0x0000000103e26190) at ceval.c:4963:13
    frame #67: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x000000010646cb90, throwflag=0) at ceval.c:3515:19
    frame #68: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010646cb90, throwflag=0) at ceval.c:741:12
    frame #69: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103e25450, args=0x00000001064dfdd8, nargs=1, globals=0x0000000103e09fb0) at call.c:283:14
    frame #70: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103e38050, stack=0x00000001064dfdd0, nargsf=9223372036854775809, kwnames=0x0000000000000000) at call.c:410:20
    frame #71: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103e38050, args=0x00000001064dfdd0, nargsf=9223372036854775809, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #72: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbd1f00, oparg=1, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #73: 0x00000001001e5a7d python3`_PyEval_EvalFrameDefault(f=0x00000001064dfc50, throwflag=0) at ceval.c:3486:23
    frame #74: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064dfc50, throwflag=0) at ceval.c:741:12
    frame #75: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103dc4d40, args=0x00000001043e4f20, nargs=1, globals=0x0000000103dc36b0) at call.c:283:14
    frame #76: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103de6370, stack=0x00000001043e4f18, nargsf=1, kwnames=0x0000000000000000) at call.c:410:20
    frame #77: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103de6370, tuple=0x00000001043e4f00, kwargs=0x0000000000000000) at call.c:199:24
    frame #78: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103de6370, args=0x00000001043e4f00, kwargs=0x0000000000000000) at call.c:227:16
    frame #79: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103de6370, callargs=0x00000001043e4f00, kwdict=0x0000000000000000) at ceval.c:5010:12
    frame #80: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x000000010411d830, throwflag=0) at ceval.c:3559:22
    frame #81: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010411d830, throwflag=0) at ceval.c:741:12
    frame #82: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103ab6d40, globals=0x0000000103aadd10, locals=0x0000000000000000, args=0x00000001064e1958, argcount=2, kwnames=0x0000000103aa0658, kwargs=0x00000001064e1968, kwcount=1, kwstep=1, defs=0x0000000103ab4c98, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103ab78e0, qualname=0x0000000103ab78e0) at ceval.c:4298:14
    frame #83: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ab3550, stack=0x00000001064e1958, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at call.c:435:12
    frame #84: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103ab3550, args=0x00000001064e1958, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at abstract.h:127:11
    frame #85: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbd4b78, oparg=3, kwnames=0x0000000103aa0640) at ceval.c:4963:13
    frame #86: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x00000001064e17d0, throwflag=0) at ceval.c:3515:19
    frame #87: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064e17d0, throwflag=0) at ceval.c:741:12
    frame #88: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103aa3520, globals=0x0000000103aa1230, locals=0x0000000000000000, args=0x000000010124beb8, argcount=3, kwnames=0x0000000000000000, kwargs=0x000000010124bed0, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000101479b80, qualname=0x0000000103aa90c0) at ceval.c:4298:14
    frame #89: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101379c30, stack=0x000000010124beb8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #90: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101379c30, args=0x000000010124beb8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #91: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbd6290, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #92: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x000000010124bd20, throwflag=0) at ceval.c:3469:23
    frame #93: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010124bd20, throwflag=0) at ceval.c:741:12
    frame #94: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103aa36c0, args=0x00000001045c7bb0, nargs=4, globals=0x0000000103aa1230) at call.c:283:14
    frame #95: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103bb24b0, stack=0x00000001045c7b90, nargsf=4, kwnames=0x0000000000000000) at call.c:410:20
    frame #96: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103bb24b0, args=0x00000001045c7b90, nargsf=4, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #97: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000103f45590, args=0x00000001045c7b98, nargsf=9223372036854775811, kwnames=0x0000000000000000) at classobject.c:60:18
    frame #98: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103f45590, args=0x00000001045c7b98, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #99: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbd7930, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #100: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001045c7a00, throwflag=0) at ceval.c:3469:23
    frame #101: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001045c7a00, throwflag=0) at ceval.c:741:12
    frame #102: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103abb040, globals=0x0000000103ab0a10, locals=0x0000000000000000, args=0x00000001064d77f0, argcount=1, kwnames=0x00000001063a7ba8, kwargs=0x00000001064d77f8, kwcount=1, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010068c340, qualname=0x0000000103ab9d60) at ceval.c:4298:14
    frame #103: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ac2370, stack=0x00000001064d77f0, nargsf=1, kwnames=0x00000001063a7b90) at call.c:435:12
    frame #104: 0x00000001000416b6 python3`_PyObject_FastCallDict(callable=0x0000000103ac2370, args=0x00007ffeefbd8c10, nargsf=1, kwargs=0x0000000106361110) at call.c:104:15
    frame #105: 0x0000000100045355 python3`_PyObject_Call_Prepend(callable=0x0000000103ac2370, obj=0x0000000103f46a00, args=0x000000010068b050, kwargs=0x0000000106361110) at call.c:887:14
    frame #106: 0x00000001000e7383 python3`slot_tp_call(self=0x0000000103f46a00, args=0x000000010068b050, kwds=0x0000000106361110) at typeobject.c:6553:15
    frame #107: 0x0000000100042762 python3`PyObject_Call(callable=0x0000000103f46a00, args=0x000000010068b050, kwargs=0x0000000106361110) at call.c:245:18
    frame #108: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103f46a00, callargs=0x000000010068b050, kwdict=0x0000000106361110) at ceval.c:5010:12
    frame #109: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x00000001045c1560, throwflag=0) at ceval.c:3559:22
    frame #110: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001045c1560, throwflag=0) at ceval.c:741:12
    frame #111: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103dcc2b0, globals=0x0000000103dc36b0, locals=0x0000000000000000, args=0x00000001045bfcb8, argcount=0, kwnames=0x0000000000000000, kwargs=0x00000001045bfcb8, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000104454890, name=0x0000000101479b80, qualname=0x0000000103dcb3c0) at ceval.c:4298:14
    frame #112: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x000000010641f190, stack=0x00000001045bfcb8, nargsf=9223372036854775808, kwnames=0x0000000000000000) at call.c:435:12
    frame #113: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x000000010641f190, args=0x00000001045bfcb8, nargsf=9223372036854775808, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #114: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbda840, oparg=0, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #115: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x00000001045bfaf0, throwflag=0) at ceval.c:3500:19
    frame #116: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001045bfaf0, throwflag=0) at ceval.c:741:12
    frame #117: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103dcc520, globals=0x0000000103dc36b0, locals=0x0000000000000000, args=0x00000001064df9f0, argcount=2, kwnames=0x0000000103dc8338, kwargs=0x00000001064dfa00, kwcount=2, kwstep=1, defs=0x0000000103d2f478, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103aa8e20, qualname=0x0000000103dce220) at ceval.c:4298:14
    frame #118: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103de6d70, stack=0x00000001064df9f0, nargsf=2, kwnames=0x0000000103dc8320) at call.c:435:12
    frame #119: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103de6d70, args=0x00000001064df9f0, nargsf=2, kwnames=0x0000000103dc8320) at abstract.h:127:11
    frame #120: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000105c7d8f0, args=0x00000001064df9f8, nargsf=9223372036854775809, kwnames=0x0000000103dc8320) at classobject.c:60:18
    frame #121: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000105c7d8f0, args=0x00000001064df9f8, nargsf=9223372036854775809, kwnames=0x0000000103dc8320) at abstract.h:127:11
    frame #122: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbdc048, oparg=3, kwnames=0x0000000103dc8320) at ceval.c:4963:13
    frame #123: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x00000001064df850, throwflag=0) at ceval.c:3515:19
    frame #124: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064df850, throwflag=0) at ceval.c:741:12
    frame #125: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103dcc380, globals=0x0000000103dc36b0, locals=0x0000000000000000, args=0x00000001064b6248, argcount=2, kwnames=0x0000000000000000, kwargs=0x00000001064b6258, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103dcac40, qualname=0x0000000103dcac40) at ceval.c:4298:14
    frame #126: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103de6730, stack=0x00000001064b6248, nargsf=2, kwnames=0x0000000000000000) at call.c:435:12
    frame #127: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103de6730, tuple=0x00000001064b6230, kwargs=0x0000000106361050) at call.c:199:24
    frame #128: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103de6730, args=0x00000001064b6230, kwargs=0x0000000106361050) at call.c:227:16
    frame #129: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103de6730, callargs=0x00000001064b6230, kwdict=0x0000000106361050) at ceval.c:5010:12
    frame #130: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x00000001064df050, throwflag=0) at ceval.c:3559:22
    frame #131: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064df050, throwflag=0) at ceval.c:741:12
    frame #132: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103dcc110, globals=0x0000000103dc36b0, locals=0x0000000000000000, args=0x00000001045b9f40, argcount=3, kwnames=0x0000000000000000, kwargs=0x00000001045b9f58, kwcount=0, kwstep=1, defs=0x0000000103d2f518, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103dca340, qualname=0x0000000103dca340) at ceval.c:4298:14
    frame #133: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103de65f0, stack=0x00000001045b9f40, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #134: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103de65f0, args=0x00000001045b9f40, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #135: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbdee90, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #136: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x00000001045b9d90, throwflag=0) at ceval.c:3500:19
    frame #137: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001045b9d90, throwflag=0) at ceval.c:741:12
    frame #138: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103dc4a00, globals=0x0000000103dc36b0, locals=0x0000000000000000, args=0x000000010644def8, argcount=1, kwnames=0x0000000103d2f1f8, kwargs=0x000000010644df00, kwcount=1, kwstep=1, defs=0x0000000103dcd8d8, defcount=2, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103dca1c0, qualname=0x0000000103dca1c0) at ceval.c:4298:14
    frame #139: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103de6190, stack=0x000000010644def8, nargsf=9223372036854775809, kwnames=0x0000000103d2f1e0) at call.c:435:12
    frame #140: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103de6190, args=0x000000010644def8, nargsf=9223372036854775809, kwnames=0x0000000103d2f1e0) at abstract.h:127:11
    frame #141: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbe0558, oparg=2, kwnames=0x0000000103d2f1e0) at ceval.c:4963:13
    frame #142: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x000000010644dd70, throwflag=0) at ceval.c:3515:19
    frame #143: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010644dd70, throwflag=0) at ceval.c:741:12
    frame #144: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103dc4860, args=0x000000010642dfc8, nargs=2, globals=0x0000000103dc36b0) at call.c:283:14
    frame #145: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103de60f0, stack=0x000000010642dfb8, nargsf=2, kwnames=0x0000000000000000) at call.c:410:20
    frame #146: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103de60f0, tuple=0x000000010642dfa0, kwargs=0x0000000000000000) at call.c:199:24
    frame #147: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103de60f0, args=0x000000010642dfa0, kwargs=0x0000000000000000) at call.c:227:16
    frame #148: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103de60f0, callargs=0x000000010642dfa0, kwdict=0x0000000000000000) at ceval.c:5010:12
    frame #149: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x00000001045c7240, throwflag=0) at ceval.c:3559:22
    frame #150: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001045c7240, throwflag=0) at ceval.c:741:12
    frame #151: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103ab6d40, globals=0x0000000103aadd10, locals=0x0000000000000000, args=0x000000010647fdd8, argcount=2, kwnames=0x0000000103aa0658, kwargs=0x000000010647fde8, kwcount=1, kwstep=1, defs=0x0000000103ab4c98, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103ab78e0, qualname=0x0000000103ab78e0) at ceval.c:4298:14
    frame #152: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ab3550, stack=0x000000010647fdd8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at call.c:435:12
    frame #153: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103ab3550, args=0x000000010647fdd8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at abstract.h:127:11
    frame #154: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbe3208, oparg=3, kwnames=0x0000000103aa0640) at ceval.c:4963:13
    frame #155: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x000000010647fc50, throwflag=0) at ceval.c:3515:19
    frame #156: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010647fc50, throwflag=0) at ceval.c:741:12
    frame #157: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103aa3520, globals=0x0000000103aa1230, locals=0x0000000000000000, args=0x00000001064e15a8, argcount=3, kwnames=0x0000000000000000, kwargs=0x00000001064e15c0, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000101479b80, qualname=0x0000000103aa90c0) at ceval.c:4298:14
    frame #158: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101379c30, stack=0x00000001064e15a8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #159: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101379c30, args=0x00000001064e15a8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #160: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbe4920, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #161: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001064e1410, throwflag=0) at ceval.c:3469:23
    frame #162: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001064e1410, throwflag=0) at ceval.c:741:12
    frame #163: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103aa36c0, args=0x0000000101590550, nargs=4, globals=0x0000000103aa1230) at call.c:283:14
    frame #164: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103bb24b0, stack=0x0000000101590530, nargsf=4, kwnames=0x0000000000000000) at call.c:410:20
    frame #165: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103bb24b0, args=0x0000000101590530, nargsf=4, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #166: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000103f45e30, args=0x0000000101590538, nargsf=9223372036854775811, kwnames=0x0000000000000000) at classobject.c:60:18
    frame #167: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103f45e30, args=0x0000000101590538, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #168: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbe5fc0, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #169: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001015903a0, throwflag=0) at ceval.c:3469:23
    frame #170: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001015903a0, throwflag=0) at ceval.c:741:12
    frame #171: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103abb040, globals=0x0000000103ab0a10, locals=0x0000000000000000, args=0x0000000104216640, argcount=1, kwnames=0x000000010642d338, kwargs=0x0000000104216648, kwcount=2, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010068c340, qualname=0x0000000103ab9d60) at ceval.c:4298:14
    frame #172: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ac2370, stack=0x0000000104216640, nargsf=1, kwnames=0x000000010642d320) at call.c:435:12
    frame #173: 0x00000001000416b6 python3`_PyObject_FastCallDict(callable=0x0000000103ac2370, args=0x00007ffeefbe72a0, nargsf=1, kwargs=0x0000000105c1da10) at call.c:104:15
    frame #174: 0x0000000100045355 python3`_PyObject_Call_Prepend(callable=0x0000000103ac2370, obj=0x0000000103f484b0, args=0x000000010068b050, kwargs=0x0000000105c1da10) at call.c:887:14
    frame #175: 0x00000001000e7383 python3`slot_tp_call(self=0x0000000103f484b0, args=0x000000010068b050, kwds=0x0000000105c1da10) at typeobject.c:6553:15
    frame #176: 0x0000000100041c50 python3`_PyObject_MakeTpCall(callable=0x0000000103f484b0, args=0x0000000101230cb8, nargs=0, keywords=0x0000000103c32960) at call.c:159:18
    frame #177: 0x00000001001ee01a python3`_PyObject_Vectorcall(callable=0x0000000103f484b0, args=0x0000000101230cb8, nargsf=9223372036854775808, kwnames=0x0000000103c32960) at abstract.h:125:16
    frame #178: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbe7858, oparg=2, kwnames=0x0000000103c32960) at ceval.c:4963:13
    frame #179: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x0000000101230b20, throwflag=0) at ceval.c:3515:19
    frame #180: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101230b20, throwflag=0) at ceval.c:741:12
    frame #181: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103cf7e10, args=0x00000001043e4bb0, nargs=1, globals=0x0000000103c42890) at call.c:283:14
    frame #182: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103debaf0, stack=0x00000001043e4ba8, nargsf=1, kwnames=0x0000000000000000) at call.c:410:20
    frame #183: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103debaf0, tuple=0x00000001043e4b90, kwargs=0x0000000000000000) at call.c:199:24
    frame #184: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103debaf0, args=0x00000001043e4b90, kwargs=0x0000000000000000) at call.c:227:16
    frame #185: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103debaf0, callargs=0x00000001043e4b90, kwdict=0x0000000000000000) at ceval.c:5010:12
    frame #186: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x000000010158a2e0, throwflag=0) at ceval.c:3559:22
    frame #187: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x000000010158a2e0, throwflag=0) at ceval.c:741:12
    frame #188: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103ab6d40, globals=0x0000000103aadd10, locals=0x0000000000000000, args=0x0000000106355b38, argcount=2, kwnames=0x0000000103aa0658, kwargs=0x0000000106355b48, kwcount=1, kwstep=1, defs=0x0000000103ab4c98, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103ab78e0, qualname=0x0000000103ab78e0) at ceval.c:4298:14
    frame #189: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ab3550, stack=0x0000000106355b38, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at call.c:435:12
    frame #190: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103ab3550, args=0x0000000106355b38, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at abstract.h:127:11
    frame #191: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbea508, oparg=3, kwnames=0x0000000103aa0640) at ceval.c:4963:13
    frame #192: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x00000001063559b0, throwflag=0) at ceval.c:3515:19
    frame #193: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001063559b0, throwflag=0) at ceval.c:741:12
    frame #194: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103aa3520, globals=0x0000000103aa1230, locals=0x0000000000000000, args=0x00000001063aa3c8, argcount=3, kwnames=0x0000000000000000, kwargs=0x00000001063aa3e0, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000101479b80, qualname=0x0000000103aa90c0) at ceval.c:4298:14
    frame #195: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101379c30, stack=0x00000001063aa3c8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #196: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101379c30, args=0x00000001063aa3c8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #197: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbebc20, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #198: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001063aa230, throwflag=0) at ceval.c:3469:23
    frame #199: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001063aa230, throwflag=0) at ceval.c:741:12
    frame #200: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103aa36c0, args=0x00000001063aa5c0, nargs=4, globals=0x0000000103aa1230) at call.c:283:14
    frame #201: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103bb24b0, stack=0x00000001063aa5a0, nargsf=4, kwnames=0x0000000000000000) at call.c:410:20
    frame #202: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103bb24b0, args=0x00000001063aa5a0, nargsf=4, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #203: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000103f49350, args=0x00000001063aa5a8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at classobject.c:60:18
    frame #204: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103f49350, args=0x00000001063aa5a8, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #205: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbed2c0, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #206: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001063aa410, throwflag=0) at ceval.c:3469:23
    frame #207: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001063aa410, throwflag=0) at ceval.c:741:12
    frame #208: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103abb040, globals=0x0000000103ab0a10, locals=0x0000000000000000, args=0x00000001042165b0, argcount=1, kwnames=0x00000001043877e8, kwargs=0x00000001042165b8, kwcount=1, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010068c340, qualname=0x0000000103ab9d60) at ceval.c:4298:14
    frame #209: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ac2370, stack=0x00000001042165b0, nargsf=1, kwnames=0x00000001043877d0) at call.c:435:12
    frame #210: 0x00000001000416b6 python3`_PyObject_FastCallDict(callable=0x0000000103ac2370, args=0x00007ffeefbee5a0, nargsf=1, kwargs=0x0000000104390650) at call.c:104:15
    frame #211: 0x0000000100045355 python3`_PyObject_Call_Prepend(callable=0x0000000103ac2370, obj=0x0000000103f48af0, args=0x000000010068b050, kwargs=0x0000000104390650) at call.c:887:14
    frame #212: 0x00000001000e7383 python3`slot_tp_call(self=0x0000000103f48af0, args=0x000000010068b050, kwds=0x0000000104390650) at typeobject.c:6553:15
    frame #213: 0x0000000100041c50 python3`_PyObject_MakeTpCall(callable=0x0000000103f48af0, args=0x0000000103d827a0, nargs=0, keywords=0x00000001039207d0) at call.c:159:18
    frame #214: 0x00000001001ee01a python3`_PyObject_Vectorcall(callable=0x0000000103f48af0, args=0x0000000103d827a0, nargsf=9223372036854775808, kwnames=0x00000001039207d0) at abstract.h:125:16
    frame #215: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbeeb58, oparg=1, kwnames=0x00000001039207d0) at ceval.c:4963:13
    frame #216: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x0000000103d82620, throwflag=0) at ceval.c:3515:19
    frame #217: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000103d82620, throwflag=0) at ceval.c:741:12
    frame #218: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103cf71e0, args=0x0000000101226278, nargs=2, globals=0x0000000103c42890) at call.c:283:14
    frame #219: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103deb9b0, stack=0x0000000101226268, nargsf=9223372036854775810, kwnames=0x0000000000000000) at call.c:410:20
    frame #220: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103deb9b0, args=0x0000000101226268, nargsf=9223372036854775810, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #221: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf00d0, oparg=2, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #222: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x00000001012260c0, throwflag=0) at ceval.c:3500:19
    frame #223: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001012260c0, throwflag=0) at ceval.c:741:12
    frame #224: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103c34c70, args=0x00000001043ab558, nargs=2, globals=0x0000000103c42890) at call.c:283:14
    frame #225: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103deb870, stack=0x00000001043ab548, nargsf=9223372036854775810, kwnames=0x0000000000000000) at call.c:410:20
    frame #226: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103deb870, args=0x00000001043ab548, nargsf=9223372036854775810, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #227: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf1630, oparg=2, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #228: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x00000001043ab3d0, throwflag=0) at ceval.c:3500:19
    frame #229: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001043ab3d0, throwflag=0) at ceval.c:741:12
    frame #230: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103c34ee0, args=0x000000010437e160, nargs=1, globals=0x0000000103c42890) at call.c:283:14
    frame #231: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103deb910, stack=0x000000010437e158, nargsf=1, kwnames=0x0000000000000000) at call.c:410:20
    frame #232: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x0000000103deb910, tuple=0x000000010437e140, kwargs=0x0000000000000000) at call.c:199:24
    frame #233: 0x0000000100042672 python3`PyObject_Call(callable=0x0000000103deb910, args=0x000000010437e140, kwargs=0x0000000000000000) at call.c:227:16
    frame #234: 0x00000001001eb75d python3`do_call_core(tstate=0x00000001012073d0, func=0x0000000103deb910, callargs=0x000000010437e140, kwdict=0x0000000000000000) at ceval.c:5010:12
    frame #235: 0x00000001001e644d python3`_PyEval_EvalFrameDefault(f=0x00000001012245a0, throwflag=0) at ceval.c:3559:22
    frame #236: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001012245a0, throwflag=0) at ceval.c:741:12
    frame #237: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103ab6d40, globals=0x0000000103aadd10, locals=0x0000000000000000, args=0x00000001043a31d8, argcount=2, kwnames=0x0000000103aa0658, kwargs=0x00000001043a31e8, kwcount=1, kwstep=1, defs=0x0000000103ab4c98, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000103ab78e0, qualname=0x0000000103ab78e0) at ceval.c:4298:14
    frame #238: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ab3550, stack=0x00000001043a31d8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at call.c:435:12
    frame #239: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103ab3550, args=0x00000001043a31d8, nargsf=9223372036854775810, kwnames=0x0000000103aa0640) at abstract.h:127:11
    frame #240: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf42c8, oparg=3, kwnames=0x0000000103aa0640) at ceval.c:4963:13
    frame #241: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x00000001043a3050, throwflag=0) at ceval.c:3515:19
    frame #242: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001043a3050, throwflag=0) at ceval.c:741:12
    frame #243: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103aa3520, globals=0x0000000103aa1230, locals=0x0000000000000000, args=0x0000000101223488, argcount=3, kwnames=0x0000000000000000, kwargs=0x00000001012234a0, kwcount=0, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000101479b80, qualname=0x0000000103aa90c0) at ceval.c:4298:14
    frame #244: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101379c30, stack=0x0000000101223488, nargsf=9223372036854775811, kwnames=0x0000000000000000) at call.c:435:12
    frame #245: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101379c30, args=0x0000000101223488, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #246: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf59e0, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #247: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001012232f0, throwflag=0) at ceval.c:3469:23
    frame #248: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001012232f0, throwflag=0) at ceval.c:741:12
    frame #249: 0x00000001000436df python3`function_code_fastcall(co=0x0000000103aa36c0, args=0x0000000104383b60, nargs=4, globals=0x0000000103aa1230) at call.c:283:14
    frame #250: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103bb24b0, stack=0x0000000104383b40, nargsf=4, kwnames=0x0000000000000000) at call.c:410:20
    frame #251: 0x0000000100049fe9 python3`_PyObject_Vectorcall(callable=0x0000000103bb24b0, args=0x0000000104383b40, nargsf=4, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #252: 0x0000000100048c80 python3`method_vectorcall(method=0x0000000103f17710, args=0x0000000104383b48, nargsf=9223372036854775811, kwnames=0x0000000000000000) at classobject.c:60:18
    frame #253: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103f17710, args=0x0000000104383b48, nargsf=9223372036854775811, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #254: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf7080, oparg=3, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #255: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x00000001043839b0, throwflag=0) at ceval.c:3469:23
    frame #256: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x00000001043839b0, throwflag=0) at ceval.c:741:12
    frame #257: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103abb040, globals=0x0000000103ab0a10, locals=0x0000000000000000, args=0x0000000104216520, argcount=1, kwnames=0x0000000104394f68, kwargs=0x0000000104216528, kwcount=1, kwstep=1, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010068c340, qualname=0x0000000103ab9d60) at ceval.c:4298:14
    frame #258: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000103ac2370, stack=0x0000000104216520, nargsf=1, kwnames=0x0000000104394f50) at call.c:435:12
    frame #259: 0x00000001000416b6 python3`_PyObject_FastCallDict(callable=0x0000000103ac2370, args=0x00007ffeefbf8360, nargsf=1, kwargs=0x0000000104337c50) at call.c:104:15
    frame #260: 0x0000000100045355 python3`_PyObject_Call_Prepend(callable=0x0000000103ac2370, obj=0x0000000103f36fa0, args=0x000000010068b050, kwargs=0x0000000104337c50) at call.c:887:14
    frame #261: 0x00000001000e7383 python3`slot_tp_call(self=0x0000000103f36fa0, args=0x000000010068b050, kwds=0x0000000104337c50) at typeobject.c:6553:15
    frame #262: 0x0000000100041c50 python3`_PyObject_MakeTpCall(callable=0x0000000103f36fa0, args=0x00000001007086d8, nargs=0, keywords=0x0000000103920e60) at call.c:159:18
    frame #263: 0x00000001001ee01a python3`_PyObject_Vectorcall(callable=0x0000000103f36fa0, args=0x00000001007086d8, nargsf=9223372036854775808, kwnames=0x0000000103920e60) at abstract.h:125:16
    frame #264: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf8918, oparg=1, kwnames=0x0000000103920e60) at ceval.c:4963:13
    frame #265: 0x00000001001e5f64 python3`_PyEval_EvalFrameDefault(f=0x0000000100708510, throwflag=0) at ceval.c:3515:19
    frame #266: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000100708510, throwflag=0) at ceval.c:741:12
    frame #267: 0x00000001000436df python3`function_code_fastcall(co=0x000000010392a930, args=0x0000000103c40d48, nargs=2, globals=0x0000000103917110) at call.c:283:14
    frame #268: 0x0000000100043c26 python3`_PyFunction_Vectorcall(func=0x0000000103cfda50, stack=0x0000000103c40d38, nargsf=9223372036854775808, kwnames=0x0000000000000000) at call.c:417:20
    frame #269: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103cfda50, args=0x00000001015123a0, nargsf=9223372036854775808, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #270: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbf9e90, oparg=0, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #271: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x0000000101512220, throwflag=0) at ceval.c:3500:19
    frame #272: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101512220, throwflag=0) at ceval.c:741:12
    frame #273: 0x00000001000436df python3`function_code_fastcall(co=0x000000010392a2b0, args=0x0000000101512180, nargs=0, globals=0x0000000103917110) at call.c:283:14
    frame #274: 0x0000000100043a9a python3`_PyFunction_Vectorcall(func=0x0000000103cfdaf0, stack=0x0000000101512180, nargsf=9223372036854775808, kwnames=0x0000000000000000) at call.c:410:20
    frame #275: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000103cfdaf0, args=0x0000000101512180, nargsf=9223372036854775808, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #276: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbfb410, oparg=0, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #277: 0x00000001001e59f9 python3`_PyEval_EvalFrameDefault(f=0x0000000101512000, throwflag=0) at ceval.c:3469:23
    frame #278: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101512000, throwflag=0) at ceval.c:741:12
    frame #279: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000103e3dad0, globals=0x0000000101391110, locals=0x0000000101391110, args=0x0000000000000000, argcount=0, kwnames=0x0000000000000000, kwargs=0x0000000000000000, kwcount=0, kwstep=2, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x0000000000000000, qualname=0x0000000000000000) at ceval.c:4298:14
    frame #280: 0x00000001001d5050 python3`PyEval_EvalCodeEx(_co=0x0000000103e3dad0, globals=0x0000000101391110, locals=0x0000000101391110, args=0x0000000000000000, argcount=0, kws=0x0000000000000000, kwcount=0, defs=0x0000000000000000, defcount=0, kwdefs=0x0000000000000000, closure=0x0000000000000000) at ceval.c:4327:12
    frame #281: 0x00000001001d4ede python3`PyEval_EvalCode(co=0x0000000103e3dad0, globals=0x0000000101391110, locals=0x0000000101391110) at ceval.c:718:12
    frame #282: 0x00000001001d1d23 python3`builtin_exec_impl(module=0x000000010131dd70, source=0x0000000103e3dad0, globals=0x0000000101391110, locals=0x0000000101391110) at bltinmodule.c:1033:13
    frame #283: 0x00000001001ceb25 python3`builtin_exec(module=0x000000010131dd70, args=0x0000000101509d20, nargs=2) at bltinmodule.c.h:396:20
    frame #284: 0x00000001000b745a python3`cfunction_vectorcall_FASTCALL(func=0x000000010131f590, args=0x0000000101509d20, nargsf=9223372036854775810, kwnames=0x0000000000000000) at methodobject.c:422:24
    frame #285: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x000000010131f590, args=0x0000000101509d20, nargsf=9223372036854775810, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #286: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbfcc00, oparg=2, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #287: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x0000000101509b60, throwflag=0) at ceval.c:3500:19
    frame #288: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101509b60, throwflag=0) at ceval.c:741:12
    frame #289: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x0000000101427790, globals=0x000000010140a170, locals=0x0000000000000000, args=0x00000001010169d8, argcount=5, kwnames=0x0000000000000000, kwargs=0x0000000101016a00, kwcount=0, kwstep=1, defs=0x000000010145c308, defcount=5, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010145b9a0, qualname=0x000000010145b9a0) at ceval.c:4298:14
    frame #290: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x0000000101452690, stack=0x00000001010169d8, nargsf=9223372036854775813, kwnames=0x0000000000000000) at call.c:435:12
    frame #291: 0x00000001001ee039 python3`_PyObject_Vectorcall(callable=0x0000000101452690, args=0x00000001010169d8, nargsf=9223372036854775813, kwnames=0x0000000000000000) at abstract.h:127:11
    frame #292: 0x00000001001eb13d python3`call_function(tstate=0x00000001012073d0, pp_stack=0x00007ffeefbfe2e0, oparg=5, kwnames=0x0000000000000000) at ceval.c:4963:13
    frame #293: 0x00000001001e5c57 python3`_PyEval_EvalFrameDefault(f=0x0000000101016830, throwflag=0) at ceval.c:3500:19
    frame #294: 0x00000001001d50cc python3`PyEval_EvalFrameEx(f=0x0000000101016830, throwflag=0) at ceval.c:741:12
    frame #295: 0x00000001001ec77b python3`_PyEval_EvalCodeWithName(_co=0x000000010144c5f0, globals=0x000000010140a170, locals=0x0000000000000000, args=0x000000010144f6f8, argcount=2, kwnames=0x0000000000000000, kwargs=0x000000010144f708, kwcount=0, kwstep=1, defs=0x000000010144f478, defcount=1, kwdefs=0x0000000000000000, closure=0x0000000000000000, name=0x000000010145bee0, qualname=0x000000010145bee0) at ceval.c:4298:14
    frame #296: 0x0000000100043ee5 python3`_PyFunction_Vectorcall(func=0x000000010161c050, stack=0x000000010144f6f8, nargsf=2, kwnames=0x0000000000000000) at call.c:435:12
    frame #297: 0x0000000100042432 python3`PyVectorcall_Call(callable=0x000000010161c050, tuple=0x000000010144f6e0, kwargs=0x0000000000000000) at call.c:199:24
    frame #298: 0x0000000100042672 python3`PyObject_Call(callable=0x000000010161c050, args=0x000000010144f6e0, kwargs=0x0000000000000000) at call.c:227:16
    frame #299: 0x0000000100288d2a python3`pymain_run_module(modname=L"pytest", set_argv0=1) at main.c:302:14
    frame #300: 0x000000010028841c python3`pymain_run_python(exitcode=0x00007ffeefbff6ac) at main.c:600:21
    frame #301: 0x0000000100288218 python3`Py_RunMain at main.c:685:5
    frame #302: 0x00000001002885e9 python3`pymain_main(args=0x00007ffeefbff720) at main.c:715:12
    frame #303: 0x0000000100288637 python3`Py_BytesMain(argc=3, argv=0x00007ffeefbff798) at main.c:739:12
    frame #304: 0x00000001000017a2 python3`main(argc=3, argv=0x00007ffeefbff798) at python.c:16:12
    frame #305: 0x00007fff72aa0cc9 libdyld.dylib`start + 1
    frame #306: 0x00007fff72aa0cc9 libdyld.dylib`start + 1

Python 3.9rc1 and master:

lldb ~/git/software/cpython/install39/bin/python3
(lldb) target create "/Users/henryschreiner/git/software/cpython/install39/bin/python3"
Current executable set to '/Users/henryschreiner/git/software/cpython/install39/bin/python3' (x86_64).
(lldb) r -m pytest
Process 13613 launched: '/Users/henryschreiner/git/software/cpython/install39/bin/python3' (x86_64)
/Users/henryschreiner/git/software/cpython/install39/lib/python3.9/site-packages/_pytest/compat.py:340: PytestDeprecationWarning: The TerminalReporter.writer attribute is deprecated, use TerminalReporter._tw instead at your own risk.
See https://docs.pytest.org/en/stable/deprecations.html#terminalreporter-writer for more information.
  return getattr(object, name, default)
============================= test session starts ==============================
platform darwin -- Python 3.9.0rc1, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
rootdir: /Users/henryschreiner/git/software/pybind11/build-debug-39/tests, configfile: pytest.ini, testpaths: /Users/henryschreiner/git/software/pybind11/tests
collected 273 items / 5 skipped / 268 selected

test_async.py ..                                                         [  0%]
test_builtin_casters.py ....s........s..                                 [  6%]
test_call_policies.py ........                                           [  9%]
test_callbacks.py .......Assertion failed: (!_PyMem_IsPtrAssertion failed: (!_PyMem_IsPtrAssertion failed: (!_PyMem_IsPtrFreed(tstate->interp)), functionFreed(tstate->interp)), functionFreed(tstate->interp)), functionAssertion failed: (!_PyMem_IsPtr is_tstate_valid, file Python/ce is_tstate_valid, file Python/ce is_tstate_valid, file Python/ceFreed(tstate->interp)), functionval.c, line 135.
val.c, line 135.
 is_tstate_valid, file Python/ceval.c, line 135.
val.c, line 135.
Process 13613 stopped
* thread #2, stop reason = signal SIGABRT
    frame #0: 0x00007fff72be833a libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff72be833a <+10>: jae    0x7fff72be8344            ; <+20>
    0x7fff72be833c <+12>: movq   %rax, %rdi
    0x7fff72be833f <+15>: jmp    0x7fff72be2629            ; cerror_nocancel
    0x7fff72be8344 <+20>: retq
Target 0: (python3) stopped.
(lldb) thread backtrace
error: python3 debug map object file '/Users/henryschreiner/git/software/cpython/Programs/python.o' has changed (actual time is 2020-08-21 15:30:42.000000000, debug map time is 2020-08-21 15:15:07.000000000) since this executable was linked, file will be ignored
* thread #2, stop reason = signal SIGABRT
  * frame #0: 0x00007fff72be833a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff72ca4e60 libsystem_pthread.dylib`pthread_kill + 430
    frame #2: 0x00007fff72b6f808 libsystem_c.dylib`abort + 120
    frame #3: 0x00007fff72b6eac6 libsystem_c.dylib`__assert_rtn + 314
    frame #4: 0x0000000100261ea9 python3`is_tstate_valid(tstate=0x000000010439b250) at ceval.c:135:5
    frame #5: 0x00000001002612bb python3`take_gil(tstate=0x000000010439b250) at ceval_gil.h:227:5
    frame #6: 0x0000000100261cd5 python3`PyEval_AcquireThread(tstate=0x000000010439b250) at ceval.c:380:5
    frame #7: 0x0000000104545101 pybind11_tests.cpython-39d-darwin.so`___lldb_unnamed_symbol42$$pybind11_tests.cpython-39d-darwin.so + 149
    frame #8: 0x0000000104571f95 pybind11_tests.cpython-39d-darwin.so`___lldb_unnamed_symbol772$$pybind11_tests.cpython-39d-darwin.so + 33
    frame #9: 0x0000000104572128 pybind11_tests.cpython-39d-darwin.so`___lldb_unnamed_symbol777$$pybind11_tests.cpython-39d-darwin.so + 80
    frame #10: 0x00007fff72ca5109 libsystem_pthread.dylib`_pthread_start + 148
    frame #11: 0x00007fff72ca0b8b libsystem_pthread.dylib`thread_start + 15
@bjodah
Copy link
Contributor

bjodah commented Aug 25, 2020

I'm getting test failures using a recent debug build (on Ubuntu 20.04) of Python 3.9 too:

[100%] Built target test_cmake_build
/opt/cpython-3.9-dbg/lib/python3.9/site-packages/pep8.py:110: FutureWarning: Possible nested set at position 1
  EXTRANEOUS_WHITESPACE_REGEX = re.compile(r'[[({] | []}),;:]')
/opt/cpython-3.9-dbg/lib/python3.9/site-packages/_pytest/compat.py:340: PytestDeprecationWarning: The TerminalReporter.writer attribute is deprecated, use TerminalRepo
rter._tw instead at your own risk.
See https://docs.pytest.org/en/stable/deprecations.html#terminalreporter-writer for more information.
  return getattr(object, name, default)
========================================================================= test session starts =========================================================================
platform linux -- Python 3.9.0rc1+, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 -- /usr/local/bin/py39dbg
cachedir: .pytest_cacherootdir: /work/.ci/build-rel/build-pybind/tests, configfile: pytest.ini, testpaths: /work/external/pybind11/tests
plugins: flakes-4.0.1, cov-2.10.1, pep8-1.0.6
collected 335 items / 1 skipped / 334 selected                                                                                                                        

test_async.py::test_await PASSED                                                                                                                                [  0%]
test_async.py::test_await_missing PASSED                                                                                                                        [  0%]
test_buffers.py::test_from_python PASSED                                                                                                                        [  0%]
test_buffers.py::test_to_python PASSED                                                                                                                          [  1%]
test_buffers.py::test_inherited_protocol PASSED                                                                                                                 [  1%]
test_buffers.py::test_pointer_to_member_fn PASSED                                                                                                               [  1%]
test_buffers.py::test_readonly_buffer PASSED                                                                                                                    [  2%]
test_buffers.py::test_selective_readonly_buffer PASSED                                                                                                          [  2%]
test_builtin_casters.py::test_simple_string PASSED                                                                                                              [  2%]
test_builtin_casters.py::test_unicode_conversion PASSED                                                                                                         [  2%]
test_builtin_casters.py::test_single_char_arguments PASSED                                                                                                      [  3%]
test_builtin_casters.py::test_bytes_to_string PASSED                                                                                                            [  3%]
test_builtin_casters.py::test_string_view SKIPPED                                                                                                               [  3%]
test_builtin_casters.py::test_integer_casting PASSED                                                                                                            [  4%]
test_builtin_casters.py::test_tuple PASSED                                                                                                                      [  4%]
test_builtin_casters.py::test_builtins_cast_return_none PASSED                                                                                                  [  4%]
test_builtin_casters.py::test_none_deferred PASSED                                                                                                              [  5%]
test_builtin_casters.py::test_void_caster PASSED                                                                                                                [  5%]
test_builtin_casters.py::test_reference_wrapper PASSED                                                                                                          [  5%]
test_builtin_casters.py::test_complex_cast PASSED                                                                                                               [  5%]
test_builtin_casters.py::test_bool_caster PASSED                                                                                                                [  6%]
test_builtin_casters.py::test_numpy_bool PASSED                                                                                                                 [  6%]
test_builtin_casters.py::test_int_long PASSED                                                                                                                   [  6%]
test_builtin_casters.py::test_void_caster_2 PASSED                                                                                                              [  7%]
test_call_policies.py::test_keep_alive_argument PASSED                                                                                                          [  7%]
test_call_policies.py::test_keep_alive_return_value PASSED                                                                                                      [  7%]
test_call_policies.py::test_alive_gc PASSED                                                                                                                     [  8%]
test_call_policies.py::test_alive_gc_derived PASSED                                                                                                             [  8%]
test_call_policies.py::test_alive_gc_multi_derived PASSED                                                                                                       [  8%]
test_call_policies.py::test_return_none PASSED                                                                                                                  [  8%]
test_call_policies.py::test_keep_alive_constructor PASSED                                                                                                       [  9%]
test_call_policies.py::test_call_guard PASSED                                                                                                                   [  9%]
test_callbacks.py::test_callbacks PASSED                                                                                                                        [  9%]
test_callbacks.py::test_bound_method_callback PASSED                                                                                                            [ 10%]
test_callbacks.py::test_keyword_args_and_generalized_unpacking PASSED                                                                                           [ 10%]
test_callbacks.py::test_lambda_closure_cleanup PASSED                                                                                                           [ 10%]
test_callbacks.py::test_cpp_function_roundtrip PASSED                                                                                                           [ 11%]
test_callbacks.py::test_function_signatures PASSED                                                                                                              [ 11%]
test_callbacks.py::test_movable_object PASSED                                                                                                                   [ 11%]
test_callbacks.py::test_async_callbacks py39dbg: .././Python/ceval.c:135: is_tstate_valid: Assertion `!_PyMem_IsPtrFreed(tstate->interp)' failed.
py39dbg: .././Python/ceval.c:135: is_tstate_valid: Assertion `!_PyMem_IsPtrFreed(tstate->interp)' failed.
Fatal Python error: Aborted

py39dbg: .././Python/traceback.c:900: _Py_DumpTracebackThreads: Assertion `interp != NULL' failed.
Aborted (core dumped)
make[3]: *** [tests/CMakeFiles/pytest.dir/build.make:59: tests/CMakeFiles/pytest] Error 134
make[2]: *** [CMakeFiles/Makefile2:206: tests/CMakeFiles/pytest.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:184: tests/CMakeFiles/check.dir/rule] Error 2
make: *** [Makefile:178: check] Error 2

@bjodah
Copy link
Contributor

bjodah commented Aug 25, 2020

Excluding a couple of tests allows tests to "pass":

$ PYTEST_ADDOPTS='-v -k "not async_callbacks and not cross_module_gil and not bad_arg_default and not issue_1454"' make check -j 4

@YannickJadoul
Copy link
Collaborator

Another failure observed in #2459:

...
 =========================== short test summary info ============================
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_buffers.py:12: could not import 'numpy': No module named 'numpy'
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_eigen.py:5: could not import 'numpy': No module named 'numpy'
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_numpy_array.py:8: could not import 'numpy': No module named 'numpy'
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_numpy_dtypes.py:10: could not import 'numpy': No module named 'numpy'
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_numpy_vectorize.py:5: could not import 'numpy': No module named 'numpy'
SKIPPED [1] test_builtin_casters.py:135: no <string_view>
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_builtin_casters.py:363: could not import 'numpy': No module named 'numpy'
SKIPPED [1] test_copy_move.py:69: no <optional>
SKIPPED [1] test_stl.py:109: no <optional>
SKIPPED [1] test_stl.py:137: no <experimental/optional>
SKIPPED [1] test_stl.py:163: no <variant>
SKIPPED [1] /Users/runner/work/pybind11/pybind11/tests/test_stl_binders.py:97: could not import 'numpy': No module named 'numpy'
============ 295 passed, 12 skipped, 3 xfailed, 1 xpassed in 10.56s ============
Fatal Python error: Segmentation fault

Current thread 0x0000000111469dc0 (most recent call first):
<no Python frame>
/bin/sh: line 1:  2134 Segmentation fault: 11  /Users/runner/hostedtoolcache/Python/3.9.0-rc.1/x64/bin/python3.9 -m pytest
make[3]: *** [tests/CMakeFiles/pytest] Error 139
make[2]: *** [tests/CMakeFiles/pytest.dir/all] Error 2
make[1]: *** [tests/CMakeFiles/pytest.dir/rule] Error 2
make: *** [pytest] Error 2
##[error]Process completed with exit code 2. 

@henryiii
Copy link
Collaborator Author

henryiii commented Oct 12, 2020

A recipe for reproducing:

docker run --rm -it -v $PWD:/pybind11 ubuntu:20.04
apt-get update && apt-get install -y git python3-dbg python3-dev python3-distutils python3-pytest cmake g++ ninja-build
cmake -S pybind11 -B build -GNinja -DPYTHON_EXECUTABLE=$(which python3-dbg) -DCMAKE_BUILD_TYPE=Debug
cmake --build build -t check

Failing test:

../../tests/test_methods_and_attributes.py::test_bad_arg_default python3-dbg: ../Objects/typeobject.c:3126: _PyType_Lookup: Assertion `!PyErr_Occurred()' failed.

Excluding this one test causes the ubuntu tests to pass.

@YannickJadoul
Copy link
Collaborator

Got it, I think.

I believe this is another instantiation of #2336. To be looked at again, for 2.6.1, I'd say? (See #2336: I know where this goes wrong, but it has got consequences that mess up other tests :-( )

@YannickJadoul
Copy link
Collaborator

YannickJadoul commented Oct 15, 2020

I believe this is another instantiation of #2336.

To be more concrete, I believe this line should throw but doesn't:

detail::make_caster<T>::cast(x, return_value_policy::automatic, {})

EDIT: Adding a simple std::cout << "HERE " << PyErr_Occurred() << std::endl; to that py::arg_v constructor seems to be proving me right :-)

@YannickJadoul YannickJadoul self-assigned this Oct 15, 2020
@bstaletic
Copy link
Collaborator

bstaletic commented Nov 9, 2020

Simply discarding the TypeError seems to work.

diff --git a/include/pybind11/cast.h b/include/pybind11/cast.h
index d6e440f..aa51de8 100644
--- a/include/pybind11/cast.h
+++ b/include/pybind11/cast.h
@@ -1870,7 +1870,11 @@ private:
 #if !defined(NDEBUG)
         , type(type_id<T>())
 #endif
-    { }
+        {
+          if(PyErr_Occurred()) {
+            pybind11::error_already_set().discard_as_unraisable("");
+          }
+        }

 public:
     /// Direct construction with name, default, and description

The tests all pass, but I don't know if this breaks something that we're not testing already. Hence, not making a pull request already.

This does have some similarities with #2336, but #2336 can't be solved so easily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants