Control: reassign -1 python3-keystoneauth1 Control: affects -1 cumin I've struggled to get a backtrace from cumin because it catches all exceptions in its main() function. But by removing that handler, I could see a backtrace..
Mysteriously, the entry point in cumin is actually: -> from keystoneauth1 import session as keystone_session Doing *that* in a plain python interpreter, on my trixie machine, crashes as well, so this is likely not a cumin bug after all and rather a bug in python3-keystoneauth1: > python > (release-v5.0.0) >>> from keystoneauth1 import session as keystone_session Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 39, in <module> import osprofiler.web as osprofiler_web File "/usr/lib/python3/dist-packages/osprofiler/web.py", line 19, in <module> from osprofiler import profiler File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 27, in <module> from osprofiler import notifier File "/usr/lib/python3/dist-packages/osprofiler/notifier.py", line 18, in <module> from osprofiler.drivers import base File "/usr/lib/python3/dist-packages/osprofiler/drivers/__init__.py", line 5, in <module> from osprofiler.drivers import loginsight # noqa ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/osprofiler/drivers/loginsight.py", line 25, in <module> from oslo_concurrency.lockutils import synchronized File "/usr/lib/python3/dist-packages/oslo_concurrency/lockutils.py", line 37, in <module> import eventlet File "/usr/lib/python3/dist-packages/eventlet/__init__.py", line 6, in <module> from eventlet import convenience File "/usr/lib/python3/dist-packages/eventlet/convenience.py", line 7, in <module> from eventlet.green import socket File "/usr/lib/python3/dist-packages/eventlet/green/socket.py", line 21, in <module> from eventlet.support import greendns File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 78, in <module> setattr(dns, pkg, import_patched('dns.' + pkg)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/support/greendns.py", line 60, in import_patched return patcher.import_patched(module_name, **modules) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 132, in import_patched return inject( ^^^^^^^ File "/usr/lib/python3/dist-packages/eventlet/patcher.py", line 109, in inject module = __import__(module_name, {}, {}, module_name.split('.')[:-1]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/dns/asyncquery.py", line 40, in <module> from dns.query import ( File "/usr/lib/python3/dist-packages/dns/query.py", line 66, in <module> import httpcore._backends.sync File "/usr/lib/python3/dist-packages/httpcore/__init__.py", line 1, in <module> from ._api import request, stream File "/usr/lib/python3/dist-packages/httpcore/_api.py", line 7, in <module> from ._sync.connection_pool import ConnectionPool File "/usr/lib/python3/dist-packages/httpcore/_sync/__init__.py", line 1, in <module> from .connection import HTTPConnection File "/usr/lib/python3/dist-packages/httpcore/_sync/connection.py", line 14, in <module> from .._synchronization import Lock File "/usr/lib/python3/dist-packages/httpcore/_synchronization.py", line 12, in <module> import trio File "/usr/lib/python3/dist-packages/trio/__init__.py", line 26, in <module> from . import abc, from_thread, lowlevel, socket, to_thread File "/usr/lib/python3/dist-packages/trio/socket.py", line 16, in <module> from . import _socket File "/usr/lib/python3/dist-packages/trio/_socket.py", line 545, in <module> class SocketType: File "/usr/lib/python3/dist-packages/trio/_socket.py", line 757, in SocketType @_wraps(_stdlib_socket.socket.sendmsg, assigned=(), updated=()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: type object 'GreenSocket' has no attribute 'sendmsg' >>> Reassigning, but I would argue that cumin could: 1. show an actual backtrace (and why not, drop in a debugger) when crashing with (say) --trace 2. avoid crashing if one of the backend fails to load I'll see if i can coerce a patchset in gerrit for those.