This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/19828] 7.11 regression: non-stop gdb -p <process from a container>: internal error


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

--- Comment #3 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=aa01bd3689d204ce3d657cf7eb17b8343d79a080

commit aa01bd3689d204ce3d657cf7eb17b8343d79a080
Author: Pedro Alves <palves@redhat.com>
Date:   Tue May 24 14:47:56 2016 +0100

    Linux native thread create/exit events support

    A following patch (fix for gdb/19828) makes linux-nat.c add threads to
    GDB's thread list earlier in the "attach" sequence, and that causes a
    surprising regression on
    gdb.threads/attach-many-short-lived-threads.exp on my machine.  The
    extra "thread x exited" handling and traffic slows down that test
    enough that GDB core has trouble keeping up with new threads that are
    spawned while trying to stop existing ones.

    I saw the exact same issue with remote/gdbserver a while ago and fixed
    it in 65706a29bac5 (Remote thread create/exit events) so part of the
    fix here is the exact same -- add support for thread created events to
    gdb/linux-nat.c.  infrun.c:stop_all_threads enables those events when
    it tries to stop threads, which ensures that new threads never get a
    chance to themselves start new threads, thus fixing the race.

    gdb/
    2016-05-24  Pedro Alves  <palves@redhat.com>

        PR gdb/19828
        * linux-nat.c (report_thread_events): New global.
        (linux_handle_extended_wait): Report
        TARGET_WAITKIND_THREAD_CREATED if thread event reporting is
        enabled.
        (wait_lwp, linux_nat_filter_event): Report all thread exits if
        thread event reporting is enabled.  Remove comment.
        (filter_exit_event): New function.
        (linux_nat_wait_1): Use it.
        (linux_nat_thread_events): New function.
        (linux_nat_add_target): Install it as target_thread_events method.

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]