]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - gdb/testsuite/ChangeLog
PR server/18081: gdbserver crashes when providing an unexisting binary
authorPedro Alves <palves@redhat.com>
Wed, 6 May 2015 17:50:03 +0000 (18:50 +0100)
committerPedro Alves <palves@redhat.com>
Wed, 6 May 2015 17:50:03 +0000 (18:50 +0100)
commit80ad801e90b5bd389ec156d37e28228fcbca128c
tree757ef44720529e9646a9205fca92d93d07149280
parentf218b647aa21168473b973e3459258ba21ba8fbc
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.
gdb/gdbserver/ChangeLog
gdb/gdbserver/server.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.server/non-existing-program.exp [new file with mode: 0644]