[binutils-gdb/gdb-8.1-branch] Fix backwards compatibility with old GDBservers (PR remote/22597)

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[binutils-gdb/gdb-8.1-branch] Fix backwards compatibility with old GDBservers (PR remote/22597)

sergiodj+buildbot-2
*** TEST RESULTS FOR COMMIT 936a312c04f9f1dd856571bf7573b5a8f51ed895 ***

Author: Pedro Alves <[hidden email]>
Branch: gdb-8.1-branch
Commit: 936a312c04f9f1dd856571bf7573b5a8f51ed895

Fix backwards compatibility with old GDBservers (PR remote/22597)

At <https://sourceware.org/ml/gdb-patches/2017-12/msg00285.html>,
Maciej reported that commit:

  commit 5cd63fda035d4ba949e6478406162c4673b3c9ef
  Date: Wed Oct 4 18:21:10 2017 +0100
  Subject: Fix "Remote 'g' packet reply is too long" problems with multiple inferiors

made GDB stop working with older stubs.  Any attempt to continue
execution after the initial connection fails with:

  [...]
  Process .../gdb/testsuite/outputs/gdb.base/advance/advance created; pid = 2670
  Listening on port 2346
  target remote [...]:2346
  Remote debugging using [...]:2346
  Reading symbols from .../lib64/ld.so.1...done.
  [Switching to Thread <main>]
  (gdb) continue
  Cannot execute this command without a live selected thread.
  (gdb)

The problem is:

  (gdb) c
  Cannot execute this command without a live selected thread.
  (gdb) info threads
    Id   Target Id         Frame
    1    Thread 14917      0x00007f341cd98ed0 in _start () from /lib64/ld-linux-x86-64.so.2

  The current thread <Thread ID 2> has terminated.  See `help thread'.
                      ^^^^^^^^^^^
  (gdb)

Note, thread _2_.  There's really only one thread in the inferior
(it's still at the entry point), but still GDB added a bogus second
thread.

The reason GDB started adding a second thread after 5cd63fda035d is
this hunk:

+                 if (event->ptid == null_ptid)
+                   {
+                     const char *thr = strstr (p1 + 1, ";thread:");
+                     if (thr != NULL)
+                       event->ptid = read_ptid (thr + strlen (";thread:"),
+                                                NULL);
+                     else
+                       event->ptid = magic_null_ptid;
+                   }

Note the else branch that falls back to magic_null_ptid.  We reach
that when we process the initial stop reply sent back in response to
the the "?" (status) packet early in the connection setup:

 Sending packet: $?#3f...Ack
 Packet received: T0506:0000000000000000;07:40a510f4fd7f0000;10:d0fe1201577f0000;

And note that that response does not include a ";thread:XXX" part.

This stop reply is processed after listing threads with qfThreadInfo /
qsThreadInfo :

 Sending packet: $qfThreadInfo#bb...Ack
 Packet received: m3915
 Sending packet: $qsThreadInfo#c8...Ack
 Packet received: l

meaning, when we process that stop reply, we treat the event as coming
from a thread with ptid == magic_null_ptid, which is not yet in the
thread list, so we add it then:

  (top-gdb) p ptid
  $1 = {m_pid = 42000, m_lwp = -1, m_tid = 1}
  (top-gdb) bt
  #0  0x0000000000840a8c in add_thread_silent(ptid_t) (ptid=...) at src/gdb/thread.c:269
  #1  0x00000000007ad61d in remote_add_thread(ptid_t, int, int) (ptid=..., running=0, executing=0)
      at src/gdb/remote.c:1838
  #2  0x00000000007ad8de in remote_notice_new_inferior(ptid_t, int) (currthread=..., executing=0)
      at src/gdb/remote.c:1921
  #3  0x00000000007b758b in process_stop_reply(stop_reply*, target_waitstatus*) (stop_reply=0x1158860, status=0x7fffffffcc00)
      at src/gdb/remote.c:7217
  #4  0x00000000007b7a38 in remote_wait_as(ptid_t, target_waitstatus*, int) (ptid=..., status=0x7fffffffcc00, options=0)
      at src/gdb/remote.c:7380
  #5  0x00000000007b7cd1 in remote_wait(target_ops*, ptid_t, target_waitstatus*, int) (ops=0x102fac0 <remote_ops>, ptid=..., status=0x7fffffffcc00, options=0) at src/gdb/remote.c:7446
  #6  0x000000000081587b in delegate_wait(target_ops*, ptid_t, target_waitstatus*, int) (self=0x102fac0 <remote_ops>, arg1=..., arg2=0x7fffffffcc00, arg3=0) at src/gdb/target-delegates.c:138
  #7  0x0000000000827d77 in target_wait(ptid_t, target_waitstatus*, int) (ptid=..., status=0x7fffffffcc00, options=0)
      at src/gdb/target.c:2179
  #8  0x0000000000715fda in do_target_wait(ptid_t, target_waitstatus*, int) (ptid=..., status=0x7fffffffcc00, options=0)
      at src/gdb/infrun.c:3589
  #9  0x0000000000716351 in wait_for_inferior() () at src/gdb/infrun.c:3707
  #10 0x0000000000715435 in start_remote(int) (from_tty=1) at src/gdb/infrun.c:3212

things go downhill from this.

We don't see the problem with current master gdbserver, because that
version always sends the ";thread:" part in the initial stop reply:

 Sending packet: $?#3f...Packet received: T0506:0000000000000000;07:a0d4ffffff7f0000;10:d05eddf7ff7f0000;thread:p3cea.3cea;core:3;

Years ago I had added a "--disable-packet=" command line option to
gdbserver which comes in handy for testing this, since the existing
"--disable-packet=Tthread" precisely makes gdbserver not send that
";thread:" part in stop replies.  The testcase added by this commit
emulates old gdbserver making use of that.

I've compared a testrun at 5cd63fda035d^ (before regression) with
'current master+patch', against old gdbserver at f8b73d13b7ca^.  I
hacked out --once, and "monitor exit" to be able to test.  The results
are a bit too unstable to tell accurately, but it looked like there
were no regressions.  Maciej confirmed this worked for him as well.

No regressions on master (against master gdbserver).

gdb/ChangeLog:
2018-01-11  Pedro Alves  <[hidden email]>

        PR remote/22597
        * remote.c (remote_parse_stop_reply): Default to the last-set
        general thread instead of to 'magic_null_ptid'.

gdb/testsuite/ChangeLog:
2018-01-11  Pedro Alves  <[hidden email]>

        PR remote/22597
        * gdb.server/stop-reply-no-thread.c: New file.
        * gdb.server/stop-reply-no-thread.exp: New file.
Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-gdbserver-m32/builds/8494>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-gdbserver-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: continue to breakpoint: run to breakpoint in thread 3
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: unbreak loop in thread 3
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: continue to sigusr1_handler
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-i686, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-4

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-i686/builds/8533>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-i686/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: next: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: next: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: next: next
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: continue to sigusr1_handler
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
PASS -> FAIL: gdb.threads/signal-while-stepping-over-bp-other-thread.exp: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/signal-while-stepping-over-bp-other-thread.exp: force loop break in thread 2
PASS -> FAIL: gdb.threads/signal-while-stepping-over-bp-other-thread.exp: step
PASS -> FAIL: gdb.threads/signal-while-stepping-over-bp-other-thread.exp: stepped thread under control
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m32/builds/8498>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.threads/fork-plus-threads.exp: detach-on-fork=off: inferior 1 exited
PASS -> FAIL: gdb.threads/fork-plus-threads.exp: detach-on-fork=off: only inferior 1 left
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: continue
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr3: continue to sigusr1_handler
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-cc-with-index, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-4

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-cc-with-index/builds/8447>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-cc-with-index/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.arch/amd64-disp-step-avx.exp: vex2: xmm0 has expected value before
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-m64, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-2

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m64/builds/8551>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-m64/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: attach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: delete all breakpoints in delete_breakpoints
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m32/builds/8509>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: attach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 2: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 3: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 4: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 5: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 6: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 7: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 8: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: reset timer in the inferior
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: print seconds_left
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: detach
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 9: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: no new threads
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: set breakpoint always-inserted on
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break break_fn
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 1
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 2
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: break at break_fn: 3
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: kill process
PASS -> FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: set breakpoint always-inserted off
new FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 10: delete all breakpoints in delete_breakpoints
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: continue: continue
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr1: setup: continue to breakpoint: run to breakpoint in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr1: setup: unbreak loop in thread 2
PASS -> FAIL: gdb.threads/multiple-step-overs.exp: displaced=on: signal thr1: continue to sigusr1_handler
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m64, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m64/builds/8537>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m64/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
new FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=main: force-fail=1: run failure detected
new FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=separate: force-fail=1: run failure detected
new FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=main: force-fail=1: run failure detected
new FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: force-fail=1: run failure detected
new FAIL: gdb.threads/attach-into-signal.exp: threaded: thread apply 2 print $_siginfo.si_signo
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m64, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-4

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-gdbserver-m64/builds/8492>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-gdbserver-m64/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch64-m64, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-aarch64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-m64/builds/3948>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch64-m64/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=2: wait for stops
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-extended-gdbserver-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-native-extended-gdbserver-m32/builds/2534>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-native-extended-gdbserver-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=11: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=19: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-gdbserver-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-native-gdbserver-m32/builds/2516>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-native-gdbserver-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
new KFAIL: gdb.base/step-over-syscall.exp: clone: displaced=on: single step over clone
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=12: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=14: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=16: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=17: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-m32, branch gdb-8.1-branch

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-m32/builds/2535>

Commit(s) tested:
        936a312c04f9f1dd856571bf7573b5a8f51ed895

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Fix backwards compatibility with old GDBservers (PR remote/22597)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-m32/93/936a312c04f9f1dd856571bf7573b5a8f51ed895/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/longjmp.exp: next over patt3
PASS -> FAIL: gdb.base/step-over-syscall.exp: clone: displaced=off: single step over clone
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=16: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
PASS -> FAIL: gdb.threads/pthreads.exp: check backtrace from thread 1
new FAIL: gdb.threads/queue-signal.exp: determine thread functions
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.