Native unwinding fails across signal frames on AArch64
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 72
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 5
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current Behavior
It looks like elfutils fails to unwind past the signal frame on AArch64, so pystack cannot recover the native frames below it. Would you be interested in a patch for this?
### Expected Behavior
_No response_
### Steps To Reproduce
run this script
```python
import ctypes
import os
import signal
import subprocess
@ctypes.CFUNCTYPE(None, ctypes.c_int)
def dump_stack(*_):
subprocess.run(
["pystack", "remote", "--native", "--no-color", str(os.getpid())]
)
libc = ctypes.CDLL(None)
libc.signal.argtypes = (ctypes.c_int, ctypes.c_void_p)
libc.signal(signal.SIGUSR1, dump_stack)
os.kill(os.getpid(), signal.SIGUSR1)
```
and get
```bash
* - Unable to merge native stack due to insufficient native information - *
```
### Pystack Version
1.7.0
### Python Version
3.13
### Linux distribution
Debian
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.