This is the mail archive of the
gdb-testers@sources.redhat.com
mailing list for the GDB project.
sunday project, gdb, 2002-12-24
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: gdb-testers at sources dot redhat dot com
- Date: Tue, 31 Dec 2002 16:07:47 -0600
- Subject: sunday project, gdb, 2002-12-24
[It took me a few days to allocate some time for this report.
Note that this is for 2002-12-24. As soon as I post this,
I can start spinning 2002-12-31!]
I found no regressions in gdb since the last report.
Highlights of this report:
. Several thread tests improved due to a bug fix in gdb HEAD.
. The first KFAIL has been committed to gdb HEAD (gdb.c++/annota2.exp).
So far I have seen no reports of compatibility problems on the
mailing lists.
. gdb.c++/anon-union.exp is exposing two different bugs in gcc HEAD:
gcc HEAD 20021212, -gdwarf-2 okay
gcc HEAD 20021218, -gdwarf-2 bad debug info, PR gdb/900
gcc HEAD 20021224, -gdwarf-2 gcc ICE, PR gcc/9039
gcc HEAD 20021212, -gstabs+ okay
gcc HEAD 20021218, -gstabs+ bad debug info, PR gdb/900
gcc HEAD 20021224, -gstabs+ different bad debug info, not analyzed yet
PR gcc/9039 is waiting for attention from gcc folks. I think it's related
to a big anonymous union change which was committed to gcc on 2002-12-18.
Note that anonymous unions are a C++ feature, not found in C.
PR gdb/900 is about C++ main functions that return 'int' but fall off the
end of main() with no return statement (yes, this is specifically legal in
C++, sigh). gcc HEAD is emitting an extra lexical scope for such a
function, so the local variables go out of scope too soon. Daniel J wrote
to Jason Merrill and gcc-bugs about this. My plan is to wait about a week
for a fix. If no fix, then file a gcc bug report and write a separate test
case with an XFAIL (gdb.c++/main-falloff.exp).
There is a third set of failures in configurations with gcc=HEAD%20021224
gformat=stabs+, but I am not even analyzing them yet, pending resolution
of the first two bugs.
My tables are here:
http://www.shout.net/~mec/sunday/2002-12-24/index.html
Michael C
. Summary
. Test Matrix
. Matrix
target => native
host => i686-pc-linux-gnu
osversion => red-hat-8.0
gdb => 5.3, gdb_5_3-branch%20021224, HEAD%20021224
gcc => 2.95.3, 3.2-7-rh, 3.2.1, gcc-3_2-branch%20021218, gcc-3_3-branch%20021224, HEAD%20021224
binutils => 2.13.90.0.2-rh, 2.13.1, binutils-2_13-branch%20021224, HEAD%20021224
libc => 2.2.93-5-rh
gformat => dwarf-2, stabs+
count 126 = 1 * 1 * 1 * 3 * (5*4+1) * 1 * 2
. Notes
'target' and 'host' are gnu configuration triples.
'osversion' is the host operating system name, which is additional
information beyond 'host'.
'gdb', 'gcc', 'binutils', and 'libc' are version names.
versions start with a number are official releases or snapshots.
versions which start with a number and end with '-rh' are the
vendor-supplied versions on my red hat linux host.
versions named 'HEAD' are the cvs HEAD.
versions with any other name are cvs branches.
cvs versions show the checkout date after a '%' delimiter.
'gformat' is the debugging information format.
'count' is the total number of configurations tested.
The vendor gcc is available only with vendor binutils,
thus the '(5*4+1)' term for gcc/binutils combinations.
. libiberty
Not tested yet (I need to update my test script).
. gdb
. Tables
. http://www.shout.net/~mec/sunday/2002-12-24/index.html
. Overview
gdb 5.3: 0 build aborts, 0 test aborts, 391 non-PASS results
gdb gdb_5_3-branch: 0 build aborts, 0 test aborts, 382 non-PASS results
gdb HEAD: 0 build aborts, 0 test aborts, 396 non-PASS results
A non-pass result is any result except PASS. This includes
ERROR, WARNING, NOTE, FAIL, KPASS, KFAIL, XPASS, XFAIL, UNRESOLVED,
UNTESTED, UNSUPPORTED, and unknown results.
. Old bugs fixed
gdb.base/selftest.exp has been fixed.
gdb.mi/gdb669.exp has improved, thanks to a gdb fix.
. New bugs detected
pr gcc/9039: ICE, anonymous union, gen_decl_die, dwarf2out.c:11974
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc&cmd=view&pr=9039
gcc HEAD%20021224 gives an ICE (internal compiler error) when
compiling a function with an anonymous union with -gdwarf-2.
This is a gcc bug found by a gdb test script.
. Test protocol changes since last report
I split the 'host' attribute into 'host' and 'osversion'. 'host' is now a
gnu configuration triple without any extra information. 'osversion' is
information such as vendor/version for i686-pc-linux-gnu. i.e., my
'osversion' is red-hat-8.0.
I changed 'attention' to 'non-PASS'. Every non-PASS result has been an
attention result for several months now anyways. This reflects my belief
that every non-PASS result deserves attention.
I am planning to drop coverage of gdb_5_3-branch soon if it continues
to have no activity.
. Baseline software
. host i686-pc-linux-gnu
. osversion red-hat-8.0
make 3.79.1
binutils 2.13.1
gcc 3.2.1
flex 2.5.4
bison 1.35
tcl 8.4.1
expect 5.38.0
dejagnu 1.4.3
The baseline software is used to build and test all the other software.
It is not part of the test matrix.
. Analysis
. libiberty
. results
. target native
. host i686-pc-linux-gnu
. osversion red-hat-8.0
No results available yet.
. gdb
The previous report was 2002-12-18:
http://www.shout.net/~mec/sunday/2002-12-18/Analysis.txt
. 5.3
. gdb.c++/annota2.exp: annotate quit
pr gdb/544: gdb.c++/annota2.exp: annotate-quit test sometimes fails
http://sources.redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=544
Fluctuation in test result from unknown cause.
. gdb.c++/anon-union.exp: Testcase compile failed, ...
pr gcc/9039: ICE, anonymous union, gen_decl_die, dwarf2out.c:11974
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc&cmd=view&pr=9039
gcc HEAD%20021224 gives an ICE (internal compiler error) when
compiling a function with an anonymous union with -gdwarf-2.
This is a gcc bug found by a gdb test script.
anon-union.exp has now found two gcc bugs (pr gdb/900 is
probably a gcc bug). That's a good test script!
. gdb.c++/anon-union.exp: print w 1
gdb.c++/anon-union.exp: print w 2
gdb.c++/anon-union.exp: print w 3
gdb.c++/anon-union.exp: print z 1
gdb.c++/anon-union.exp: print z 2
gdb.c++/anon-union.exp: print z 3
PASS -> FAIL
This happened with gcc=HEAD gformat=-gstabs+.
This is unrelated to pr gcc/9039 (dwarf-2 ICE) and pr gdb/900
(which started happening between gcc HEAD%20021212 and
gcc HEAD%20021218). At this point anonymous unions are so
broken that I won't even analyze this. I'll wait for the
first two bugs to get resolved and then look at this again.
. gdb.c++/classes.exp: ptype struct default_public_struct
XFAIL -> UNRESOLVED
This happens with gcc=HEAD gformat=-gdwarf-2.
This is un-obvious The result changed from XFAIL to UNRSEOLVED!
gdb 5.3 did not change (obviously), the gdb.log output file is
identical, and I don't think I changed anything significant
in my test bed.
The answer is: this is the first test in classes.exp, and
classes.exp is the next script after anon-union.exp, and
these UNRESOLVED's happen in exactly the configurations where
anon-union.exp fails to compile with a gcc ICE. Something in
lib/gdb.exp or dejagnu 1.4.3 gets de-synchronized, spews a lot
of ERROR/WARNING/UNRESOLVED results for the current script,
and screws the first test in the next script.
gdb HEAD%20021224 manifested a similar UNRESOLVED result.
. gdb.threads/killed.exp: GDB exits after multi-threaded program exits messily
pr gdb/568: GDB confused by messily-exiting multi-threaded programs
http://sources.redhat.com/cgi-bin/gnatsweb.pl?database=gdb&cmd=view&pr=568
Jim Blandy thinks that this test may depend on a race condition:
http://sources.redhat.com/ml/gdb-testers/2002-q4/msg00010.html
. gdb.threads/schedlock.exp: *
This test script is useless in this release because of a
signed-versus-unsigned bug.
Daniel Jacobowitz has an obvious fix, which has been applied
to gdb HEAD:
http://sources.redhat.com/ml/gdb-patches/2002-10/msg00454.html
. gdb.trace/actions.exp: ERROR: couldn't load /berman/fsf/_today_/berman/test/gdb.trace/actions into gdb (timeout out)
This ERROR happens sporadically in random configurations
in about 1% of test runs. I saw it before on 2002-12-03.
This time, it happened in 1 configuration:
gdb=5.3, gcc=3.2.1, binutils=HEAD, libc=vendor, gformat=stabs+
I have not analyzed this yet.
. gdb_5_3-branch
This branch has had no activity since 2002-12-18 and almost no
activity since the 5.3 release.
. gdb.c++/annota2.exp: annotate quit
gdb.c++/anon-union.exp: Testcase compile failed, ...
gdb.c++/anon-union.exp: print w 1
gdb.c++/anon-union.exp: print w 2
gdb.c++/anon-union.exp: print w 3
gdb.c++/anon-union.exp: print z 1
gdb.c++/anon-union.exp: print z 2
gdb.c++/anon-union.exp: print z 3
gdb.c++/classes.exp: ptype struct default_public_struct
gdb.threads/killed.exp: GDB exits after multi-threaded program exits messily
gdb.threads/schedlock.exp: *
Same analysis as gdb 5.3.
. gdb.threads/print-threads.exp: Hit kill breakpoint, 10 (slow with kill breakpoin ...)
PASS -> null
This happened with gcc=3.2.1, binutils=HEAD, libc=vendor,
gformat=stabs+. This test PASSed last week but was not run at all
this week. The test is actually a response to a breakpoint being
hit, so that particular breakpoint was not hit this week. This looks
like normal multi-threading indeterminacy.
. HEAD
. gdb.c++/annota2.exp: annotate quit
gdb.c++/anon-union.exp: Testcase compile failed, ...
gdb.c++/anon-union.exp: print w 1
gdb.c++/anon-union.exp: print w 2
gdb.c++/anon-union.exp: print w 3
gdb.c++/anon-union.exp: print z 1
gdb.c++/anon-union.exp: print z 2
gdb.c++/anon-union.exp: print z 3
gdb.threads/killed.exp: GDB exits after multi-threaded program exits messily
Same analysis as gdb 5.3.
. gdb.base/selftest.exp: unknown source line near main
FAIL -> PASS
David C fixed the test script.
http://sources.redhat.com/ml/gdb-cvs/2002-12/msg00215.html
. gdb.c++/casts.exp: cast base class pointer to derived class pointer
PASS -> UNRESOLVED
Similar analysis as gdb 5.3 for gdb.c++/classes.exp.
In gdb HEAD%20021224, casts.exp is the first test after
anon-union.exp. The UNRESOLVED test is not the first test
in the file, but it is the first test which has a result.
. gdb.mi/gdb669.exp: console and MI have same number of threads
gdb.mi/gdb669.exp: -thread_list_ids
gdb.mi/gdb669.exp: MI and console have same threads
gdb.mi/gdb669.exp: finding threads in MI output
Some configurations improved. No configurations regressed.
Keith S fixed this in gdb; Elena Z committed the patch.
http://sources.redhat.com/ml/gdb-cvs/2002-12/msg00189.html
. gdb.mi/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 3
gdb.mi/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 4
gdb.mi/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 5
gdb.mi/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 6
gdb.mi1/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 3
gdb.mi1/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 4
gdb.mi1/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 5
gdb.mi1/mi-pthreads.exp: check_mi_thread_command_set: -thread-select 6
Some configurations improved. No configurations regressed.
This might be the same gdb fix as gdb.mi/gdb669.exp.
. gdb.threads/schedlock.exp: *
Both good and bad changes. This test is still in a state
where it's better to analyze the absolute results than to
compare results from date to date.