public inbox for gdb-testers@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] (Ada) crash connecting to TSIM simulator
@ 2017-11-22  1:50 sergiodj+buildbot
  2017-11-22  1:50 ` Failures on Fedora-x86_64-m64, branch master sergiodj+buildbot
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: sergiodj+buildbot @ 2017-11-22  1:50 UTC (permalink / raw)
  To: gdb-testers

*** TEST RESULTS FOR COMMIT 54aa6c67f5a0d52dabd428cc40ce02781032acd3 ***

Author: Joel Brobecker <brobecker@adacore.com>
Branch: master
Commit: 54aa6c67f5a0d52dabd428cc40ce02781032acd3

(Ada) crash connecting to TSIM simulator

Connecting to a TSIM simulator over the remote protocol causes GDB
to crash with the following failed assertion:

    (gdb) tar remote :1234
    Remote debugging using :1234
    /[...]/gdb/ravenscar-thread.c:182: internal-error: ravenscar_update_inferior_ptid: Assertion `!is_ravenscar_task (inferior_ptid)' failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session? (y or n) y

What happens is the following. Upon connection to the target, GDB
sends a 'qfThreadInfo' query, which is the query asking the target
for the ID of the first thread, and TSIM replies 'm0':

    Sending packet: $qfThreadInfo#bb...Ack
    Packet received: m0

As a result of this, GDB takes the '0' as the TID, and because of it,
constructs a ptid whose value is {42000, 0, 0}. This trips our
!is_ravenscar_task check, because all it does to identify threads
corresponding to ravenscar tasks is that their lwp is null, because
that's how we construct their ptid.

But this is unfortunatly not sufficient when debugging with TSIM,
because the thread ID that TSIM returns causes the creation of
a ptid whose lwp is zero, which matches the current identification
scheme and yet is clearly not a ravenscar task.

The fix is to also make sure that the ptid's tid field is nonzero.

gdb/ChangeLog:

        * ravenscar-thread.c (is_ravenscar_task): Also verify that
        the ptid's TID is nonzero.


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

end of thread, other threads:[~2017-11-22  5:17 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-22  1:50 [binutils-gdb] (Ada) crash connecting to TSIM simulator sergiodj+buildbot
2017-11-22  1:50 ` Failures on Fedora-x86_64-m64, branch master sergiodj+buildbot
2017-11-22  1:58 ` Failures on Fedora-x86_64-m32, " sergiodj+buildbot
2017-11-22  2:06 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, " sergiodj+buildbot
2017-11-22  2:07 ` Failures on Fedora-s390x-m64, " sergiodj+buildbot
2017-11-22  2:18 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " sergiodj+buildbot
2017-11-22  2:27 ` Failures on Fedora-i686, " sergiodj+buildbot
2017-11-22  2:40 ` Failures on Fedora-x86_64-cc-with-index, " sergiodj+buildbot
2017-11-22  4:25 ` Failures on Ubuntu-AArch32-native-extended-gdbserver-m32, " sergiodj+buildbot
2017-11-22  4:50 ` Failures on Ubuntu-AArch32-native-gdbserver-m32, " sergiodj+buildbot
2017-11-22  5:17 ` Failures on Ubuntu-AArch32-m32, " sergiodj+buildbot

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).