]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.14] gh-142095: Use thread local frame info in `py-bt` and `py-bt-full` when availa...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 8 Jan 2026 17:35:31 +0000 (18:35 +0100)
committerGitHub <noreply@github.com>
Thu, 8 Jan 2026 17:35:31 +0000 (12:35 -0500)
commit0f02dbe4ab5605dafef150000bdc5a94ad44b3cf
treeca3c5689a3dcadd84d9035e0df3f3af24a5d5542
parent335c83ed28e1edd00d5a6ea65de7eb77939c7492
[3.14] gh-142095: Use thread local frame info in `py-bt` and `py-bt-full` when available (gh-143371) (#143566)

In optimized and `-Og` builds, arguments and local variables are frequently
unavailable in gdb. This makes `py-bt` fail to print anything useful. Use the
`PyThreadState*` pointers `_Py_tss_gilstate` and `Py_tss_tstate` to find the
interpreter frame if we can't get the frame from the
`_PyEval_EvalFrameDefault` call.
(cherry picked from commit 49c3b0a67a77bb42e736cea7dcbc1aa8fa704074)

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Misc/NEWS.d/next/Tools-Demos/2026-01-02-11-44-56.gh-issue-142095.4ssgnM.rst [new file with mode: 0644]
Tools/gdb/libpython.py