Test for PR18749: problems if whole process dies while (ptrace-) stopped
authorPedro Alves <palves@redhat.com>
Thu, 6 Aug 2015 11:33:20 +0000 (12:33 +0100)
committerPedro Alves <palves@redhat.com>
Thu, 6 Aug 2015 11:33:20 +0000 (12:33 +0100)
commit83e97ed023e828a7d924b765661374272c7f7eb4
tree703a8a02c152f16a6cfbc80372edeaaa62510806
parent4807d3f32937bc4d932638fd8f8b3084be82b74a
Test for PR18749: problems if whole process dies while (ptrace-) stopped

This adds a kfailed test that has the whole process exit just while
several threads continuously step over a breakpoint.  Usually, the
process exits just while GDB or GDBserver is handling the breakpoint
hit.  In other words, the process disappears while the event thread is
(ptrace-) stopped.  This exposes several issues in GDB and GDBserver.
Errors, crashes, etc.

I fixed some of these issues recently, but there's a lot more to do.
It's a bit like playing whack-a-mole at the moment.  You fix an issue,
which then exposes several others.

E.g., with the native target, you get (among other errors):

  (...)
  [New Thread 0x7ffff47b9700 (LWP 18077)]
  [New Thread 0x7ffff3fb8700 (LWP 18078)]
  [New Thread 0x7ffff37b7700 (LWP 18079)]
  Cannot find user-level thread for LWP 18076: generic error
  (gdb) KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited (prompt) (PRMS: gdb/18749)

gdb/testsuite/ChangeLog:
2015-08-06  Pedro Alves  <palves@redhat.com>

PR gdb/18749
* gdb.threads/process-dies-while-handling-bp.c: New file.
* gdb.threads/process-dies-while-handling-bp.exp: New file.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/process-dies-while-handling-bp.c [new file with mode: 0644]
gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp [new file with mode: 0644]