You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is only valid for 64bit operating systems (the previous entry in the PyRuntimeState struct is a PyThreadState pointer), meaning that on 32bit linux we are always defaulting to scanning the BSS section for the interpreter state.
Instead of hardcoding this offset, we should include PyRuntimeState in the generated python bindings like we do for every other cpython struct.
The text was updated successfully, but these errors were encountered:
INFO 2019-03-17T22:23:38Z: py_spy::python_spy: got symbol _PyRuntime (0x00000000008006c0) from python binary
WARN 2019-03-17T22:23:38Z: py_spy::python_spy: Interpreter address from _PyRuntime symbol is invalid 0000000000000001
INFO 2019-03-17T22:23:38Z: py_spy::python_spy: Failed to get interp_head from symbols, scanning BSS section from main binary
INFO 2019-03-17T22:23:38Z: py_spy::python_spy: Found interpreter at 0x00000000021c1718
INFO 2019-03-17T22:25:53Z: py_spy::python_spy: got symbol _PyRuntime (0x00000000007966c0) from python binary
INFO 2019-03-17T22:25:53Z: py_spy::python_spy: Found interpreter at 0x0000000000e15718
With python 3.7, we've hardcoded the offset of interp_head relative to the _PyRuntime symbol https://github.com/benfred/py-spy/blob/master/src/python_spy.rs#L249 .
This is only valid for 64bit operating systems (the previous entry in the PyRuntimeState struct is a PyThreadState pointer), meaning that on 32bit linux we are always defaulting to scanning the BSS section for the interpreter state.
Instead of hardcoding this offset, we should include PyRuntimeState in the generated python bindings like we do for every other cpython struct.
The text was updated successfully, but these errors were encountered: