[binutils-gdb] Fix GDB hang with remote after error from resume

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

[binutils-gdb] Fix GDB hang with remote after error from resume

sergiodj+buildbot-2
*** TEST RESULTS FOR COMMIT bdf2a94aa535016a1640d56e9b2b539c4376bf31 ***

Author: Andreas Arnez <[hidden email]>
Branch: master
Commit: bdf2a94aa535016a1640d56e9b2b539c4376bf31

Fix GDB hang with remote after error from resume

Since this commit --

  Fix PR18360 - internal error when using "interrupt -a"
  (https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=c65d6b55)

-- the testsuite shows long delays on s390 with native-gdbserver when
executing certain tests, such as watchpoints.exp.  These hangs have been
discussed before in the context of buildbot problems, see here:

  https://sourceware.org/ml/gdb-patches/2017-12/msg00413.html

The problem can easily be triggered by stopping on a breakpoint, then
setting impossible watchpoints, and finally doing "continue".  Then, after
having set the step-over state (in keep_going_pass_signal in infrun.c),
GDB tries to insert breakpoints and watchpoints into the inferior.  This
fails, and the "continue" command is aborted.  But the step-over state is
not cleared in this case, which causes future step-over attempts to be
skipped since GDB thinks that "we already have an in-line step-over
operation ongoing" (see start_step_over in infrun.c).  Thus the next
"continue" just goes on to wait for events from the remote, which will
never occur.

The problem can also be reproduced on amd64 with native-gdbserver, using
the following change to watchpoints.exp:

 -- >8 --
 --- a/gdb/testsuite/gdb.base/watchpoints.exp
 +++ b/gdb/testsuite/gdb.base/watchpoints.exp
 @@ -61,2 +61,3 @@ with_test_prefix "before inferior start" {
      gdb_test "watch ival3" ".*" ""
 +    gdb_test "watch *(char \[256\] *) main"

 -- >8 --

To fix the hang, this patch clears the step-over info when
insert_breakpoints has failed.  Of course, with native-gdbserver the
watchpoints.exp test case still causes many FAILs on s390, because
gdbserver does not support watchpoints for that target.  This is a
separate issue.

gdb/ChangeLog:
2018-01-12  Andreas Arnez  <[hidden email]>

        * infrun.c (keep_going_pass_signal): Clear step-over info when
        insert_breakpoints fails.
Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-i686, branch master

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

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

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
new FAIL: gdb.gdb/complaints.exp: breakpoint in captured_command_loop
new FAIL: gdb.gdb/complaints.exp: run until breakpoint at captured_command_loop
new FAIL: gdb.gdb/observer.exp: breakpoint in captured_main
new FAIL: gdb.gdb/observer.exp: run until breakpoint at captured_main
new FAIL: gdb.gdb/python-interrupts.exp: breakpoint in captured_command_loop
new FAIL: gdb.gdb/python-interrupts.exp: run until breakpoint at captured_command_loop
new FAIL: gdb.gdb/python-selftest.exp: breakpoint in captured_command_loop
new FAIL: gdb.gdb/python-selftest.exp: run until breakpoint at captured_command_loop
new FAIL: gdb.gdb/selftest.exp: breakpoint in captured_main
new FAIL: gdb.gdb/selftest.exp: run until breakpoint at captured_main
PASS -> FAIL: gdb.linespec/cpls-abi-tag.exp: test_abi_tag: completion: at tag: tab complete "b test_abi_tag_function[abi:"
PASS -> FAIL: gdb.linespec/cpls-abi-tag.exp: test_abi_tag: completion: at tag: cmd complete "b test_abi_tag_function[abi:"
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 ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-i686/xfails/master/xfail;hb=63356b9>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-i686/xfails/master/xfail.table;hb=63356b9>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-m64, branch master

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-m64/builds/8568>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
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 ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-m64/xfails/master/xfail;hb=293ab64>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-m64/xfails/master/xfail.table;hb=293ab64>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m32, branch master

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-native-gdbserver-m32/builds/8511>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
new FAIL: gdb.python/py-mi-events.exp: verify python support
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 ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m32/xfails/master/xfail;hb=5d2ac30>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m32/xfails/master/xfail.table;hb=5d2ac30>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master

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-native-extended-gdbserver-m32/builds/8515>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
new FAIL: gdb.base/corefile.exp: core-file warning-free
============================


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

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail;hb=4a056df>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail.table;hb=4a056df>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m64, branch master

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-native-gdbserver-m64/builds/8509>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
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 ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail;hb=d5466a1>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail.table;hb=d5466a1>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch64-m64, branch master

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/3963>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
============================


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

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-m64/xfails/master/xfail;hb=a85ec42>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-m64/xfails/master/xfail.table;hb=a85ec42>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-extended-gdbserver-m32, branch master

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/2549>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.gdb/unittest.exp: maintenance selftest
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=6: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=14: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
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.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-gdbserver-m32, branch master

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/2531>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** 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 ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-native-gdbserver-m32/xfails/master/xfail;hb=>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-native-gdbserver-m32/xfails/master/xfail.table;hb=>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-m32, branch master

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/2550>

Commit(s) tested:
        bdf2a94aa535016a1640d56e9b2b539c4376bf31

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

Subject:
        Fix GDB hang with remote after error from resume

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

*** Diff to previous build ***
============================
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=on: cond_bp_target=0: inferior 1 exited
============================


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

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-m32/xfails/master/xfail;hb=>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-m32/xfails/master/xfail.table;hb=>