Comment 23 for bug 2042744

Revision history for this message
Greg Oster (gregoster) wrote :

Environment: Debian 12.4, Python 3.11.2. Pristine install.

After a few hours digging: the call to main() in /usr/bin/keystone-manage has already completed before the exception occurs, and thus this error is actually happening during python
shutdown. In /usr/lib/python3/dist-packages/oslo_log/log.py in the function setup() you can simply remove the call to _fix_eventlet_logging(), and the exception goes away. Digging further, it seems that the lines:

        logging.threading = eventlet.green.threading
        logging._lock = logging.threading.RLock()

in _fix_eventlet_logging() together are the trigger - commenting out either of them is sufficient to get rid of the exception.

I'm already much farther down this rabbit hole than I intended, but perhaps the answer as to what is going on here will be obvious to someone with more knowledge about python, its threading models, and logging...