This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Maxime Belanger
Recipients Maxime Belanger, ned.deily, paul.moore, ronaldoussoren, steve.dower, tim.golden, zach.ware
Date 2017-12-11.23:24:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1513034681.19.0.213398074469.issue32280@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2017-12-11 23:24:41Maxime Belangersetrecipients: + Maxime Belanger, paul.moore, ronaldoussoren, tim.golden, ned.deily, zach.ware, steve.dower
2017-12-11 23:24:41Maxime Belangersetmessageid: <1513034681.19.0.213398074469.issue32280@psf.upfronthosting.co.za>
2017-12-11 23:24:41Maxime Belangerlinkissue32280 messages
2017-12-11 23:24:40Maxime Belangercreate