[Bug cli/23340] crash in "run" on Mac OS when gdb is not code-signed

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Tue Jul 3 15:29:00 GMT 2018


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

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

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

commit a50c11c666e07b922d64aa5bb2747f180ce17c03
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 28 11:57:39 2018 -0600

    Fix crash in "run" on macOS when gdb is not signed

    On macOS, when gdb is not code-signed, it will throw an exception from
    darwin_attach_pid.  However, gdb also then crashes:

    thread.c:93: internal-error: struct thread_info *inferior_thread():
Assertion `tp' failed.

    I think the problem here is that darwin_attach_pid does not clean up
    inferior_ptid and inf->pid on failure.  This leads to a situation
    where gdb tries to find a thread, but cannot.

    In other cases, gdb would mourn the inferior at this point; but here
    this is not possible because the target has not been pushed.  Instead
    this patch works by simply updating the inferior and inferior_ptid on
    failure.

    Tested by building an unsigned gdb on macOS and trying to run an
    inferior.

    gdb/ChangeLog
    2018-07-03  Tom Tromey  <tom@tromey.com>

        PR cli/23340:
        * darwin-nat.c (darwin_attach_pid): Reset inferior and
        inferior_ptid on error.

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


More information about the Gdb-prs mailing list