Discussion:
[Valgrind-developers] Valgrind: r16453 - /trunk/gdbserver_tests/
s***@valgrind.org
2017-06-25 12:40:54 UTC
Permalink
Author: philippe
Date: Sun Jun 25 13:40:53 2017
New Revision: 16453

Log:
Fix some tests failure with GDB 8.0

At the beginning of a Valgrind gdbserver test,
2 messages are produced when launching the command
target remote | vgdb

A message output by vgdb:
relaying data between gdb and process <pid>
(this message is read by GDB from the vgdb pipe, and re-output
on stderr)
and a message produced by GDB:
Remote debugging using | ./vgdb

GDB 8.0 changes the order in which the above messages are output.
This causes 2 tests to fail, as the 'relaying' line appears
then in a part of the output deleted by a filter script.

To avoid this, change the filter scripts to always remove
this 'relaying line', which is not particularly interesting to check.
All the .exp files containining such a 'relaying' line are updated
accordingly.

This has been tested with various gdb versions (7.5, 7.7, 7.12, 8.0)
on amd64 and/or ppc64.

Thanks to Mark Wielaard, which helped to investigate this problem
by bisecting the GDB patches in GDB 8.0 causing this change of
behaviour.



Modified:
trunk/gdbserver_tests/filter_gdb
trunk/gdbserver_tests/filter_vgdb
trunk/gdbserver_tests/hginfo.stderrB.exp
trunk/gdbserver_tests/mcblocklistsearch.stderrB.exp
trunk/gdbserver_tests/mcbreak.stderrB.exp
trunk/gdbserver_tests/mcclean_after_fork.stderrB.exp
trunk/gdbserver_tests/mcinfcallWSRU.stderrB.exp
trunk/gdbserver_tests/mcleak.stderrB.exp
trunk/gdbserver_tests/mcmain_pic.stderrB.exp
trunk/gdbserver_tests/mcvabits.stderrB.exp
trunk/gdbserver_tests/mssnapshot.stderrB.exp
trunk/gdbserver_tests/nlgone_abrt.stderrB.exp
trunk/gdbserver_tests/nlgone_exit.stderrB.exp
trunk/gdbserver_tests/nlgone_return.stderrB.exp
trunk/gdbserver_tests/nlpasssigalrm.stderrB.exp
trunk/gdbserver_tests/nlself_invalidate.stderrB.exp
trunk/gdbserver_tests/nlsigvgdb.stderrB.exp

Modified: trunk/gdbserver_tests/filter_gdb
==============================================================================
--- trunk/gdbserver_tests/filter_gdb (original)
+++ trunk/gdbserver_tests/filter_gdb Sun Jun 25 13:40:53 2017
@@ -72,7 +72,7 @@
-e '/^Missing separate debuginfo/d' \
-e '/\/_exit.c: No such file or directory/d' \
-e '/^Try: zypper install -C/d' \
- -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \
+ -e '/relaying data between gdb and process/d' \
-e 's/pid [0-9][0-9]*/pid ..../g' \
-e 's/Thread [0-9][0-9]*/Thread ..../g' \
-e '/\[Switching to Thread ....\]/d' \

Modified: trunk/gdbserver_tests/filter_vgdb
==============================================================================
--- trunk/gdbserver_tests/filter_vgdb (original)
+++ trunk/gdbserver_tests/filter_vgdb Sun Jun 25 13:40:53 2017
@@ -11,7 +11,7 @@
# pid
# gdb 7.2 sometimes tries to access address 0x0 (same as with standard gdbserver)
# filter a debian 6.0/ppc32 line
-sed -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \
+sed -e '/relaying data between gdb and process/d' \
-e 's/\(sending command .* to pid \)[0-9][0-9]*/\1..../' \
-e '/Cannot access memory at address 0x......../d' \
-e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d' |

Modified: trunk/gdbserver_tests/hginfo.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/hginfo.stderrB.exp (original)
+++ trunk/gdbserver_tests/hginfo.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Lock ga 0x........ {
Address 0x........ is 0 bytes inside data symbol "mx"

Modified: trunk/gdbserver_tests/mcblocklistsearch.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcblocklistsearch.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcblocklistsearch.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Breakpoint 1 at 0x........: file leak-tree.c, line 42.
Breakpoint 2 at 0x........: file leak-tree.c, line 67.

Modified: trunk/gdbserver_tests/mcbreak.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcbreak.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcbreak.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)

Modified: trunk/gdbserver_tests/mcclean_after_fork.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcclean_after_fork.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcclean_after_fork.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
monitor command request to kill this process
Remote connection closed

Modified: trunk/gdbserver_tests/mcinfcallWSRU.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcinfcallWSRU.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcinfcallWSRU.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Breakpoint 1 at 0x........: file sleepers.c, line 74.
Continuing.

Modified: trunk/gdbserver_tests/mcleak.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcleak.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcleak.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)

Modified: trunk/gdbserver_tests/mcmain_pic.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcmain_pic.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcmain_pic.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,2 +1 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999

Modified: trunk/gdbserver_tests/mcvabits.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mcvabits.stderrB.exp (original)
+++ trunk/gdbserver_tests/mcvabits.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"

Modified: trunk/gdbserver_tests/mssnapshot.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/mssnapshot.stderrB.exp (original)
+++ trunk/gdbserver_tests/mssnapshot.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands

Modified: trunk/gdbserver_tests/nlgone_abrt.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlgone_abrt.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlgone_abrt.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1 +0,0 @@
-relaying data between gdb and process ....

Modified: trunk/gdbserver_tests/nlgone_exit.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlgone_exit.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlgone_exit.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1 +0,0 @@
-relaying data between gdb and process ....

Modified: trunk/gdbserver_tests/nlgone_return.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlgone_return.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlgone_return.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1 +0,0 @@
-relaying data between gdb and process ....

Modified: trunk/gdbserver_tests/nlpasssigalrm.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlpasssigalrm.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlpasssigalrm.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,2 +1 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999

Modified: trunk/gdbserver_tests/nlself_invalidate.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlself_invalidate.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlself_invalidate.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1 +0,0 @@
-relaying data between gdb and process ....

Modified: trunk/gdbserver_tests/nlsigvgdb.stderrB.exp
==============================================================================
--- trunk/gdbserver_tests/nlsigvgdb.stderrB.exp (original)
+++ trunk/gdbserver_tests/nlsigvgdb.stderrB.exp Sun Jun 25 13:40:53 2017
@@ -1,4 +1,3 @@
-relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
gdbserver: continuing in 5000 ms ...
gdbserver: continuing after wait ...

Loading...