[New-bugs-announce] [issue32280] Expose `_PyRuntime` through a section name
report at bugs.python.org
Mon Dec 11 18:24:41 EST 2017
New submission from Maxime Belanger <max at dropbox.com>:
We've recently been toying with more sophisticated crash reporting machinery for our Desktop Python application (which we deploy on macOS, Windows and Linux).
To assist in debugging, we are storing `_PyRuntime` in a predictable location our crash reporter can later look up without needing the symbol table (this can grow complicated across multiple platforms).
Taking a page from `crashpad`'s book (https://chromium.googlesource.com/crashpad/crashpad/+/master/client/crashpad_info.cc), we've patched `pylifecycle.c` to store the `_PyRuntime` struct in a section of the same name. Upon a crash, this section is then used by the tool to annotate each report with enough information to reconstruct the Python stack frames in each thread (as applicable).
We're contributing our patch here in the hopes this can be helpful to others.
components: Interpreter Core, Windows, macOS
nosy: Maxime Belanger, ned.deily, paul.moore, ronaldoussoren, steve.dower, tim.golden, zach.ware
title: Expose `_PyRuntime` through a section name
versions: Python 3.7
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce