diff options
author | Pedro Alves <palves@redhat.com> | 2015-05-06 18:50:03 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2015-05-06 18:50:03 +0100 |
commit | 80ad801e90b5bd389ec156d37e28228fcbca128c (patch) | |
tree | 757ef44720529e9646a9205fca92d93d07149280 /gdb/compile | |
parent | f218b647aa21168473b973e3459258ba21ba8fbc (diff) | |
download | binutils-gdb-80ad801e90b5bd389ec156d37e28228fcbca128c.tar.gz |
PR server/18081: gdbserver crashes when providing an unexisting binary
$ ./gdbserver :1234 blah
Process blah created; pid = 16471
Cannot exec blah: No such file or directory.
Child exited with status 127
Killing process(es): 16471
../../../../src/binutils-gdb/gdb/gdbserver/linux-low.c:920: A problem internal to GDBserver has been detected.
kill_wait_lwp: Assertion `res > 0' failed.
GDBserver shouldn't even be trying to kill that process. GDBserver
kills or detaches from all processes on exit, and due to a missing
mourn_inferior call, GDBserver tries to kill the process that it had
already seen exit.
Tested on x86_64 Fedora 20. New test included. I emulated what
Windows outputs by hacking an error call in linux_create_inferior.
gdb/gdbserver/ChangeLog:
2015-05-06 Pedro Alves <palves@redhat.com>
PR server/18081
* server.c (start_inferior): If the process exits, mourn it.
gdb/testsuite/ChangeLog:
2015-05-06 Pedro Alves <palves@redhat.com>
PR server/18081
* gdb.server/non-existing-program.exp: New file.
Diffstat (limited to 'gdb/compile')
0 files changed, 0 insertions, 0 deletions