GH-126910: add test for manual frame unwinding#144137
GH-126910: add test for manual frame unwinding#144137pablogsal merged 5 commits intopython:mainpython/cpython:mainfrom
Conversation
|
🤖 New build scheduled with the buildbot fleet by @diegorusso for commit 5d53a15 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F144137%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
🤖 New build scheduled with the buildbot fleet by @diegorusso for commit c179848 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F144137%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
| } | ||
| #else | ||
| static const char * | ||
| classify_address(uintptr_t addr, int jit_enabled, PyInterpreterState *interp) |
There was a problem hiding this comment.
Do you get a warning here for interp being unused? I would have expected the compiler to complain for platforms without HAVE_DLADDR or WASI 🤔
There was a problem hiding this comment.
I tried compiling the branch above by removing code and I didn't see any warning even when passing -Wunused-parameter
There was a problem hiding this comment.
but I spotted a double branch in the ifdef logic. Wasi can fallback in the final else :)
pablogsal
left a comment
There was a problem hiding this comment.
LGTM! I just left a bunch of minor nits. Feel free to land without those
|
Very cool and great work @diegorusso 💯 |
I've addressed all your reviews. Please have a look. |
|
LGTM Great work! |
Add a test that unwinds the stack using frame pointers. We test on any platform that frame pointers are enable (the others will be skipped). It tests with and without the JIT.
Output with PYTHON_JIT=0
Output with PYTHON_JIT=1
The core of the test has been taken from @pablogsal repository https://github.com/pablogsal/cpython-unwind