This is the mail archive of the gdb-testers@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]