From owner-freebsd-bugs Tue Feb 4 14:17:32 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id OAA17056 for bugs-outgoing; Tue, 4 Feb 1997 14:17:32 -0800 (PST) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id OAA17036 for ; Tue, 4 Feb 1997 14:17:27 -0800 (PST) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.8.5/8.8.5) with ESMTP id OAA25220; Tue, 4 Feb 1997 14:16:59 -0800 (PST) Message-Id: <199702042216.OAA25220@austin.polstra.com> To: Bruce Evans cc: jlemon@americantv.com, bugs@FreeBSD.org Subject: Re: gdb/libiberty failure In-reply-to: Your message of "Wed, 05 Feb 1997 03:14:05 +1100." <199702041614.DAA27073@godzilla.zeta.org.au> References: <199702041614.DAA27073@godzilla.zeta.org.au> Date: Tue, 04 Feb 1997 14:16:58 -0800 From: John Polstra Sender: owner-bugs@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > >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