Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Feb 1997 14:16:58 -0800
From:      John Polstra <jdp@polstra.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        jlemon@americantv.com, bugs@FreeBSD.org
Subject:   Re: gdb/libiberty failure 
Message-ID:  <199702042216.OAA25220@austin.polstra.com>
In-Reply-To: Your message of "Wed, 05 Feb 1997 03:14:05 %2B1100." <199702041614.DAA27073@godzilla.zeta.org.au> 
References:  <199702041614.DAA27073@godzilla.zeta.org.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
> >Well, the Makefile in gnu/usr.bin/gdb/libiberty is looking for those sources
> >in src/contrib/gdb/libiberty, but they no longer exist.  The last cvsup run
> >that I did last night (2/3/97, about 4:00 CST) actually deleted the sources
> >in question from contrib/gdb/libiberty.
> 
> This must be a bug in a checkout, a mirror or cvsup.

I tracked it down to a corrupted cvsup administrative file on
cvsup.freebsd.org.  I think it was caused by a hardware error.
The file (> 1MB) had a 1-bit error in it, which changed a `/' into
a `.'.  Look at the middle line closely:

    V src/contrib/gdb/libiberty/xstrdup.c,v 854912032
    V src/contrib/gdb/libiberty/xstrerror.c,v 854912032
    V src/contrib/gdb/libiberty.strcasecmp.c,v 847040572
    V src/contrib/gdb/libiberty/strchr.c,v 847040572
    V src/contrib/gdb/libiberty/strdup.c,v 847040572

There was other evidence of hardware problems on the machine, too.
Its keepers are investigating.  I manually fixed the damaged file,
and things are working OK now.

The corrupted file had the fascinating effect of causing the files
from "strchr.c,v" thru the end of the directory to be alternately
created and deleted on successive updates from the master host.
Well, it's fascinating to me, anyhow. :-)  It makes perfect sense,
though I never would have predicted it.  Without going into the
sordid details, it arises from the fact that cvsup relies on the
file names being in strictly sorted order (lexicographically) in
the file.  The mutation from `/' to `.' violated that, and led to
the further disorder that you see above.  I am going to add some
checks so that this sort of error will be detected in the future.
(Though, if you can't rely on your bits to stay set or cleared,
how safe can you ever be??)

John P.
--
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702042216.OAA25220>