This is the mail archive of the
gdb-testers@sources.redhat.com
mailing list for the GDB project.
Sunday Project gdb test results, 2001-11-17
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: gdb-testers at sources dot redhat dot com
- Date: Sun, 18 Nov 2001 21:07:12 -0600
- Subject: Sunday Project gdb test results, 2001-11-17
. Summary
. Coverage
1 platform
2 versions of gdb
4 versions of gcc
8 total test runs
. Aggregate results
0 build failures
11 ERRORs
7 WARNINGs
258 FAILs
. Old bugs fixed
gdb.c++/templates.exp fixed some test script problems involving white
space in gdb-HEAD with gcc v3 compilers.
. New bugs detected
gdb.base/interrupt.exp has a regression failure in gdb-HEAD with all four
gcc compilers. The program under test terminates with SIGSEGV when
invoking an inferior function while the process is interrupted. This test
worked on 2001-11-10.
gdb.threads/linux-dp.exp has a regression failure in gdb-HEAD with all
four gcc compilers. The program under test runs further than it did on
2001-11-10 and 2001-11-04, but when continuing from a thread breakpoint,
gdb goes into the weeds with 100% CPU usage. This test worked on
2001-10-27. It still works in gdb 5.1 branch.
gdb.threads/pthreads.exp has two regression failures in gdb-HEAD with all
four gcc compilers. The program under test runs further than it did on
2001-11-10 and 2001-11-04, but it does not schedule all threads, and gdb
eventually loses track of the threads. This test worked on 2001-10-27.
It still works in gdb 5.1 branch.
. Test protocol changes since last report
I am posting a bunch of tables on the Web. Thanks to Andrew Cagney for the
awk script. Awk is a very pleasant language for messing around on a Sunday
afternoon.
. Result changes since last report
. Tables
http://www.shout.net/~mec/sunday/2001-11-17/index.html
. gdb.base/cvexpr.exp
[ok]
. analysis
This is a new test script. It tests for type expressions using const
and volatile keywords. This script is in gdb mainline, but not in gdb
5.1 branch. All of the tests PASS.
. gdb.base/interrupt.exp
[ACHTUNG]
. gdb.log excerpt
# =========
# THIS WEEK
# 2001-11-17/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-2.95.3/gdb.log
# =========
(gdb) break main
Breakpoint 1 at 0x8048516: file /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.base/interrupt.c, line 14.
(gdb) run
Starting program: /berman/fsf/_today_/berman/native/build/gdb/HEAD/gdb/testsuite/gdb.base/interrupt
Breakpoint 1, main () at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.base/interrupt.c:14
14 printf ("talk to me baby\n");
(gdb) continue
Continuing.
talk to me baby
PASS: gdb.base/interrupt.exp: child process is alive
a
PASS: gdb.base/interrupt.exp: child process ate our char
Program received signal SIGINT, Interrupt.
0x40120f44 in __libc_read () from /lib/i686/libc.so.6
(gdb) PASS: gdb.base/interrupt.exp: send_gdb control C
p func1 ()
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
# =========
# LAST WEEK
# 2001-11-10/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-2.95.3/gdb.log
# =========
(gdb) continue
Continuing.
talk to me baby
PASS: gdb.base/interrupt.exp: child process is alive
a
PASS: gdb.base/interrupt.exp: child process ate our char
Program received signal SIGINT, Interrupt.
0x40120f44 in __libc_read () from /lib/i686/libc.so.6
(gdb) PASS: gdb.base/interrupt.exp: send_gdb control C
p func1 ()
$1 = 4
(gdb) PASS: gdb.base/interrupt.exp: call function when asleep
p func1 ()
$2 = 4
(gdb) PASS: gdb.base/interrupt.exp: call function a second time
. analysis
This failure happens with gdb-HEAD with all compilers. This is a
regression failure versus 2001-11-10.
. gdb.c/annota2.exp:
[ok]
. gdb.sum excerpt
# 2001-*/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-gdb_5_1-2001-07-29-branch/gcc-2.95.3/gdb.sum
2001-11-04: FAIL: gdb.c++/annota2.exp: annotate-quit
2001-11-10: PASS: gdb.c++/annota2.exp: annotate-quit
2001-11-17: PASS: gdb.c++/annota2.exp: annotate-quit
. analysis
This test is flaky -- it changes results a lot.
I have not investigated this.
. gdb.c++/templates.exp
[ok]
. analysis
The test script was changed to fix some white space problems
in gdb-HEAD with gcc v3 compilers.
. patch
http://sources.redhat.com/ml/gdb-cvs/2001-11/msg00120.html
. gdb.mi/mi-var-cmd.exp
. gdb.mi/mi0-var-cmd.exp
[ok]
. analysis
The test scripts changed to make the test names unique.
No results changed.
. patch
http://sources.redhat.com/ml/gdb-cvs/2001-11/msg00099.html
http://sources.redhat.com/ml/gdb-cvs/2001-11/msg00100.html
. gdb.threads/linux-dp.exp
[ACHTUNG]
. gdb.log excerpt
# 2001-11-17/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-2.95.3/gdb.log
break print_philosopher thread 5
Breakpoint 4 at 0x804899a: file /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c, line 102.
(gdb) continue
Continuing.
! 3 !
_ 3 _
[Switching to Thread 3076 (LWP 4928)]
Breakpoint 4, print_philosopher (n=2, left=0 '\000', right=0 '\000') at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c:102
102 {
(gdb) PASS: gdb.threads/linux-dp.exp: continue to breakpoint: thread 5's print
where
#0 print_philosopher (n=2, left=0 '\000', right=0 '\000') at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c:102
#1 0x08048b93 in philosopher (data=0x804a080) at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c:148
#2 0x40029bfd in pthread_start_thread (arg=0x4078bc00) at manager.c:262
#3 0x40029cdf in pthread_start_thread_event (arg=0x4078bc00) at manager.c:285
(gdb) PASS: gdb.threads/linux-dp.exp: first thread-specific breakpoint hit
continue
Continuing.
! 2 !
Breakpoint 4, print_philosopher (n=2, left=33 '!', right=33 '!') at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c:102
102 {
(gdb) PASS: gdb.threads/linux-dp.exp: continue to breakpoint: thread 5's print, pass: 0
info threads
7 Thread 5126 (LWP 4930) 0x400898a5 in __sigsuspend (set=0x40b8b95c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
6 Thread 4101 (LWP 4929) 0x4013c90e in __select () from /lib/i686/libc.so.6
* 5 Thread 3076 (LWP 4928) print_philosopher (n=2, left=33 '!', right=33 '!') at /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/linux-dp.c:102
4 Thread 2051 (LWP 4927) 0x400898a5 in __sigsuspend (set=0x4058b95c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
3 Thread 1026 (LWP 4926) 0x400898a5 in __sigsuspend (set=0x4038b95c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
2 Thread 2049 (LWP 4925) 0x4013b227 in __poll (fds=0x804befc, nfds=1, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:63
1 Thread 1024 (LWP 4923) 0x401168e1 in __libc_nanosleep () from /lib/i686/libc.so.6
(gdb) continue
Continuing.
_ 2 _
FAIL: gdb.threads/linux-dp.exp: continue to breakpoint: thread 5's print, pass: 1 (timeout)
info threads
FAIL: gdb.threads/linux-dp.exp: thread-specific breakpoint is thread-specific (timeout)
thread 1
FAIL: gdb.threads/linux-dp.exp: selected thread: 1 (timeout)
...
. analysis
When continuing from a thread breakpoint, gdb goes into the weeds with
100% CPU usage. The test script struggle through another 16 timeouts at
10 minutes per timeout. Ouch!
On 2001-11-10, gdb-HEAD, gcc-*, the program under test terminated
with SIGSEGV when running to main.
On 2001-11-04, gdb-HEAD, gcc-*, the program under test terminated
with SIGSEGV when running to main.
On 2001-10-27, gdb-HEAD, gcc-gcc-3_0-branch, this test script worked.
(gcc-gcc-3_0-branch was the only gcc tested).
This test script works fine in the 5.1 branch.
. gdb.threads/pthreads.exp
[ACHTUNG]
. gdb.log excerpt
# 2001-11-17/native/i686-pc-linux-gnulibc2.2-rh7.1/gdb-HEAD/gcc-gcc-3_0-branch/gdb.log
(gdb) PASS: gdb.threads/pthreads.exp: stopped before calling common_routine 15 times
p common_routine::full_coverage
$2 = 0
(gdb) FAIL: gdb.threads/pthreads.exp: some threads didn't run
...
(gdb) PASS: gdb.threads/pthreads.exp: tbreak common_routine if hits >= 15
continue
Continuing.
Cannot find user-level thread for LWP 25837: generic error
(gdb) FAIL: gdb.threads/pthreads.exp: continue until common routine run 15 times
FAIL: gdb.threads/pthreads.exp: check backtrace from main thread
thread apply 1 backtrace
warning: Thread 1 has terminated.
(gdb) thread apply 3 backtrace
warning: Thread 3 has terminated.
(gdb) FAIL: gdb.threads/pthreads.exp: check backtrace from thread 1
thread apply 4 backtrace
warning: Thread 4 has terminated.
(gdb) FAIL: gdb.threads/pthreads.exp: check backtrace from thread 2
thread apply 1 3 4 bt
warning: Thread 1 has terminated.
warning: Thread 3 has terminated.
warning: Thread 4 has terminated.
(gdb) FAIL: gdb.threads/pthreads.exp: apply backtrace command to all three threads
break common_routine thread 4
Cannot find thread 2051: generic error
(gdb) FAIL: gdb.threads/pthreads.exp: set break at common_routine in thread 2
continue
Continuing.
Cannot find thread 2051: generic error
(gdb) FAIL: gdb.threads/pthreads.exp: continue to bkpt at common_routine in thread 2
testcase /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.threads/pthreads.exp completed in 606 seconds
. analysis
There are two problems manifesting here. The first problem
is "some threads didn't run". The second problem is that all the
threads disappear near the end of the script.
On 2001-11-10, gdb-HEAD, gcc-*, the program under test terminated
with SIGSEGV when running to main.
On 2001-11-04, gdb-HEAD, gcc-*, the program under test terminated
with SIGSEGV when running to main.
On 2001-10-27, gdb-HEAD, gcc-gcc-3_0-branch, this test script worked.
(gcc-gcc-3_0-branch was the only gcc tested).
This test script works fine in the 5.1 branch.
. Coverage
. Platforms
native i686-pc-linux-gnu (red hat linux 7.1)
. Versions
. naming convention
versions which start with a number are official releases.
versions named HEAD are the cvs HEAD (mainline).
versions with any other name are cvs branches.
. date
cvs checkouts started Sat Nov 17 11:00:55 PST 2001
cvs checkouts finished Sat Nov 17 21:45:43 PST 2001
. software under test
gdb HEAD, gdb gdb-gdb_5_1-2001-07-29-branch
gcc 2.95.3, gcc 3.0.2, gcc gcc-3_0-branch, gcc HEAD
binutils HEAD
. baseline software
make 3.79.1
binutils 2.11.2
gcc 3.0.2
tcl 8.3.4
expect 5.33.0
dejagnu 1.4.2
. Counts
. native i686-pc-linux-gnu (red hat linux 7.1)
. libiberty
binutils HEAD All 645 tests passed
gcc HEAD All 645 tests passed
gcc gcc-3_0-branch All 645 tests passed
gdb HEAD All 645 tests passed
gdb gdb-gdb_5_1-2001-07-29-branch All 645 tests passed
. gdb
. reporting convention
Each test run generates a list of nine numbers:
error/warning, pass/fail/xpass/xfail, unresolved/untested/unsupported
. gdb HEAD
. gcc 2.95.3 3/5, 7624/165/34/193, 101/1/0
. gcc 3.0.2 3/5, 7720/142/28/194, 1/1/0
. gcc HEAD 7/7, 7717/140/28/168, 3/1/0
. gcc gcc-3_0-branch 3/5, 7719/143/28/194, 1/1/0
. gdb gdb-gdb_5_1-2001-07-29-branch
. gcc 2.95.3 4/0, 7544/135/32/193, 104/1/0
. gcc 3.0.2 4/0, 7623/128/26/194, 4/1/0
. gcc HEAD 8/2, 7623/127/27/167, 6/1/0
. gcc gcc-3_0-branch 4/0, 7622/129/26/194, 4/1/0
. ERRORs and WARNINGs
. gdb.asm/asm-source.exp
[ok]
. gdb.log excerpt
Running /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.asm/asm-source.exp ...
WARNING: Assembly source test -- not implemented for this target.
. analysis
There is no asm test for i686-pc-linux-gnu yet. In the mainline branch,
the test script calls gdb_suppress_entire_file, which produces 3 ERRORs,
5 WARNINGs, and some FAILs. gdb 5.1 branch uses an older skipping
mechanism which quietly skips the test.
The fix is to add some assembly language tests.
. gdb.base/setvar.exp
. gdb.base/weird.exp
[ok]
. gdb.sum excerpt
PASS: gdb.base/setvar.exp: set variable *(v_signed_short_pointer+1)=-456
ERROR: Process no longer exists
UNRESOLVED: gdb.base/setvar.exp: set variable signed short pointer
. analysis
This is a metacharacter problem with some "\{" constructions which
should be "\\}. It has been fixed in gdb mainline; the fix needs to be
brought to gdb 5.1 branch.
. patch
http://sources.redhat.com/ml/gdb-cvs/2001-10/msg00156.html
. gdb.c++/userdef.exp
[ok]
. gdb.log excerpt
Executing on host: g++ /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.c++/userdef.cc -L/berman/fsf/_today_/berman/native/build/gdb/HEAD/libiberty -g -lm -o /berman/fsf/_today_/berman/native/build/gdb/HEAD/gdb/testsuite/gdb.c++/userdef (timeout = 300)
In file included from /berman/fsf/_today_/berman/native/install/gcc/HEAD/include/g++-v3/backward/iostream.h:31,
from /berman/fsf/_today_/source/gdb/HEAD/gdb/testsuite/gdb.c++/userdef.cc:1:
/berman/fsf/_today_/berman/native/install/gcc/HEAD/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
. analysis
The test program gdb.c++/userdef.cc includes the obsolete header
<iostream.h>. It needs to include <iostream> instead. This causes a
gcc warning with gcc HEAD, which leads to 4 ERRORs and 2 WARNINGs in
both gdb mainline and 5.1 branch.
. FAILs
. gdb-HEAD
231 TOTAL
=== ====
10 gdb.asm/asm-source.exp
1 gdb.base/break.exp
1 gdb.base/call-ar-st.exp
1 gdb.base/callfuncs.exp
4 gdb.base/completion.exp
1 gdb.base/corefile.exp
1 gdb.base/ending-run.exp
51 gdb.base/funcargs.exp
3 gdb.base/interrupt.exp
4 gdb.base/list.exp
2 gdb.base/return2.exp
2 gdb.base/selftest.exp
8 gdb.base/step-line.exp
2 gdb.base/step-test.exp
2 gdb.base/structs2.exp
2 gdb.c++/annota2.exp
17 gdb.c++/classes.exp
3 gdb.c++/cplusfuncs.exp
1 gdb.c++/demangle.exp
4 gdb.c++/derivation.exp
6 gdb.c++/inherit.exp
2 gdb.c++/local.exp
8 gdb.c++/method.exp
5 gdb.c++/namespace.exp
5 gdb.c++/ovldbreak.exp
4 gdb.c++/templates.exp
1 gdb.c++/userdef.exp
18 gdb.c++/virtfunc.exp
1 gdb.mi/mi-break.exp
1 gdb.mi/mi-console.exp
3 gdb.mi/mi-disassemble.exp
1 gdb.mi/mi-simplerun.exp
6 gdb.mi/mi-stack.exp
5 gdb.mi/mi-var-display.exp
1 gdb.mi/mi0-break.exp
1 gdb.mi/mi0-console.exp
3 gdb.mi/mi0-disassemble.exp
1 gdb.mi/mi0-simplerun.exp
6 gdb.mi/mi0-stack.exp
5 gdb.mi/mi0-var-display.exp
17 gdb.threads/linux-dp.exp
9 gdb.threads/pthreads.exp
1 gdb.trace/packetlen.exp
1 gdb.trace/tracecmd.exp
. gdb-gdb_5_1-2001-07-29-branch
218 TOTAL
=== ====
1 gdb.base/break.exp
1 gdb.base/call-ar-st.exp
4 gdb.base/completion.exp
1 gdb.base/corefile.exp
1 gdb.base/ending-run.exp
51 gdb.base/funcargs.exp
2 gdb.base/interrupt.exp
4 gdb.base/list.exp
2 gdb.base/return2.exp
2 gdb.base/selftest.exp
8 gdb.base/step-line.exp
2 gdb.base/step-test.exp
2 gdb.base/structs2.exp
2 gdb.c++/annota2.exp
17 gdb.c++/classes.exp
9 gdb.c++/cplusfuncs.exp
1 gdb.c++/demangle.exp
4 gdb.c++/derivation.exp
6 gdb.c++/inherit.exp
2 gdb.c++/local.exp
8 gdb.c++/method.exp
5 gdb.c++/namespace.exp
1 gdb.c++/overload.exp
5 gdb.c++/ovldbreak.exp
6 gdb.c++/templates.exp
1 gdb.c++/userdef.exp
31 gdb.c++/virtfunc.exp
1 gdb.mi/mi-break.exp
1 gdb.mi/mi-console.exp
3 gdb.mi/mi-disassemble.exp
1 gdb.mi/mi-simplerun.exp
6 gdb.mi/mi-stack.exp
1 gdb.mi/mi-var-cmd.exp
5 gdb.mi/mi-var-display.exp
1 gdb.mi/mi0-break.exp
1 gdb.mi/mi0-console.exp
3 gdb.mi/mi0-disassemble.exp
1 gdb.mi/mi0-simplerun.exp
6 gdb.mi/mi0-stack.exp
1 gdb.mi/mi0-var-cmd.exp
5 gdb.mi/mi0-var-display.exp
1 gdb.stabs/weird.exp
1 gdb.trace/packetlen.exp
1 gdb.trace/tracecmd.exp