[New-bugs-announce] [issue44584] Deprecate thread debugging PYTHONTHREADDEBUG=1

STINNER Victor report at bugs.python.org
Thu Jul 8 05:23:09 EDT 2021


New submission from STINNER Victor <vstinner at python.org>:

Copy of my email to python-dev:
https://mail.python.org/archives/list/python-dev@python.org/thread/NMLGCDRUKLZSTK4UICJTKR54WRXU2ZGJ/

Hi,

Does anyone use threading debug PYTHONTHREADDEBUG=1 env var on a
Python debug build? If not, can I just remove it?

--

To fix a race condition at thread exit on Linux using the glibc, I
removed calls to pthread_exit() (PyThread_exit_thread()) in the
_thread module:

   https://bugs.python.org/issue44434

A side effect of this change is the removal of the
"PyThread_exit_thread called" threading debug log when using
PYTHONTHREADDEBUG=1 environment variable.

I never used PYTHONTHREADDEBUG. I just tried it and it produces tons
of output in stdout about locks. It looks basically useless because it
produces way too many logs, and it pollutes stdout (ex: most Python
tests fail when it's enabled).

This debug mode requires to build Python in debug mode (./configure
--with-pydebug):

   https://docs.python.org/dev/using/configure.html#python-debug-build

IMO there are enough external debugging tools to debug threading
issues. Python no longer has to come with its built-in logs.

I propose to deprecate the feature in Python 3.11 and remove it in 2
releases (Python 3.13).

Victor

----------
components: Interpreter Core
messages: 397130
nosy: vstinner
priority: normal
severity: normal
status: open
title: Deprecate thread debugging PYTHONTHREADDEBUG=1
versions: Python 3.11

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44584>
_______________________________________


More information about the New-bugs-announce mailing list