-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gdb crashes when receiving and passing SIGINT #1476
Comments
I traced this, and nobody is noticeably attaching an I'm going to assume the Unfortunately it's just an assumption, because if I trace this it doesn't crash. |
This is actually general to gdb and signals, at list You can test this quickly, at least in a bourne-like shell, by doing gdb -p $$
...
0xfffffc7feedcbada in __read () from /usr/lib/amd64/libc.so.1
=> 0xfffffc7feedcbada <__read+10>: 73 0a jae 0xfffffc7feedcbae6 <__read+22>
(gdb) cont
Continuing. If you now hit |
Ok, apparently that might (often?) require the victim and gdb process to be in different ttys.
in another
|
I don't have much details here unfortunately.
I have gdb in one terminal attached to qemu, which qemu running in another (with a disabled breakpoint).
If I hit ^C in gdb to interrupt qemu, gdb segfaults, having blown its stack recursively handling SIGINT:
the bottom of the stack is:
That jump to -1 can't be good, and leaves me worried that me having added types to
SIG_ERR
managed to break something. It implies the flow here is that we have done:without ever having checked
foo != SIG_ERR
, or something like that.The text was updated successfully, but these errors were encountered: