https://sourceware.org/bugzilla/show_bug.cgi?id=34472

Matt Wozniski <godlygeek at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |godlygeek at gmail dot com

--- Comment #1 from Matt Wozniski <godlygeek at gmail dot com> ---
On an aarch64 Linux system, you can reproduce the issue with:

```
docker run --cap-add=SYS_PTRACE -it ubuntu:latest
```
and then in the Docker shell:
```
apt update && DEBIAN_FRONTEND=noninteractive apt install -y python3-dbg
elfutils

python3 <<"EOF"
import ctypes
import os
import signal
import subprocess


@ctypes.CFUNCTYPE(None, ctypes.c_int)
def dump_stack(*_):
    subprocess.run(
        ["eu-stack", "-p", str(os.getpid())]
    )


libc = ctypes.CDLL(None)
libc.signal.argtypes = (ctypes.c_int, ctypes.c_void_p)
libc.signal(signal.SIGUSR1, dump_stack)
print("\nStack before signal handler fires:")
dump_stack(signal.SIGUSR1)
print("\nStack below signal handler:")
os.kill(os.getpid(), signal.SIGUSR1)
EOF
```

That tries to unwind the same process's stack twice, once successfully while
it's outside a signal handler, and once unsuccessfully within a signal handler,
failing with an error like:
```
eu-stack: dwfl_thread_getframes tid 3458 at 0x1c5067db in <unknown>: No DWARF
information found
```

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to