public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/18717] gdb misbehaves if non-leader thread exits process
  2015-07-24 17:18 [Bug gdb/18717] New: gdb misbehaves if non-leader thread exits process palves at redhat dot com
@ 2015-07-24 17:18 ` palves at redhat dot com
  2015-07-24 17:29 ` cvs-commit at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: palves at redhat dot com @ 2015-07-24 17:18 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #1 from Pedro Alves <palves at redhat dot com> ---
And then even with that fixed, both native and gdbserver still misbehave in the
same way:

(gdb) continue
Continuing.
[Thread 0x7ffff7fc0700 (LWP 15350) exited]
No unwaited-for children left.
Couldn't get registers: No such process.
(gdb) KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally (PRMS:
gdb/NNN)

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug gdb/18717] New: gdb misbehaves if non-leader thread exits process
@ 2015-07-24 17:18 palves at redhat dot com
  2015-07-24 17:18 ` [Bug gdb/18717] " palves at redhat dot com
  2015-07-24 17:29 ` cvs-commit at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: palves at redhat dot com @ 2015-07-24 17:18 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 18717
           Summary: gdb misbehaves if non-leader thread exits process
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: palves at redhat dot com
  Target Milestone: ---

This affects both the native backend and gdbserver.

If a non-leader thread exits the process while all other threads are
ptrace-stopped, native gdb internal-errors.

I'm adding a test to the testsuite that catches this:

/home/pedro/gdb/mygit/build/../src/gdb/linux-nat.c:3198: internal-error:
linux_nat_filter_event: Assertion `lp->resumed' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
FAIL: gdb.threads/non-leader-exit-process.exp: program exits normally (GDB
internal error)

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug gdb/18717] gdb misbehaves if non-leader thread exits process
  2015-07-24 17:18 [Bug gdb/18717] New: gdb misbehaves if non-leader thread exits process palves at redhat dot com
  2015-07-24 17:18 ` [Bug gdb/18717] " palves at redhat dot com
@ 2015-07-24 17:29 ` cvs-commit at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2015-07-24 17:29 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pedro Alves <palves@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7759842763d94dc2f1c7d52d09f9203830b753ab

commit 7759842763d94dc2f1c7d52d09f9203830b753ab
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Jul 24 18:18:44 2015 +0000

    PR gdb/18717: internal error if non-leader thread exits process

    If a non-leader thread exits the process while all other threads are
    ptrace-stopped, native gdb fails an assertion.  The test added by this
    commit catches it:

     /home/pedro/gdb/mygit/build/../src/gdb/linux-nat.c:3198: internal-error:
linux_nat_filter_event: Assertion `lp->resumed' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n)
     FAIL: gdb.threads/non-leader-exit-process.exp: program exits normally (GDB
internal error)

    The fix is just to remove the assertion.

    With that out of the way, neither GDB not GDBserver handle this
    perfectly though, so I'm adding a KFAIL:

     (gdb) continue
     Continuing.
     [Thread 0x7ffff7fc0700 (LWP 15350) exited]
     No unwaited-for children left.
     Couldn't get registers: No such process.
     (gdb) KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally (PRMS:
gdb/18717)

    gdb/ChangeLog:
    2015-07-24  Pedro Alves  <palves@redhat.com>

        PR gdb/18717
        * linux-nat.c (linux_nat_filter_event): Don't assert that the lwp
        is resumed, and extend the debug log.

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

        PR gdb/18717
        * gdb.threads/non-ldr-exit.c: New file.
        * gdb.threads/non-ldr-exit.exp: New file.

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-07-24 17:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-24 17:18 [Bug gdb/18717] New: gdb misbehaves if non-leader thread exits process palves at redhat dot com
2015-07-24 17:18 ` [Bug gdb/18717] " palves at redhat dot com
2015-07-24 17:29 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).