From owner-freebsd-current@FreeBSD.ORG Thu Dec 9 01:06:58 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C9F0916A4CE for ; Thu, 9 Dec 2004 01:06:58 +0000 (GMT) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.FreeBSD.org (Postfix) with ESMTP id A4A9E43D31 for ; Thu, 9 Dec 2004 01:06:58 +0000 (GMT) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) iB916w0r016221 for ; Wed, 8 Dec 2004 17:06:58 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost)iB916wRp016220 for freebsd-current@freebsd.org; Wed, 8 Dec 2004 17:06:58 -0800 (PST) (envelope-from sgk) Date: Wed, 8 Dec 2004 17:06:58 -0800 From: Steve Kargl To: freebsd-current@freebsd.org Message-ID: <20041209010658.GA14890@troutmask.apl.washington.edu> References: <20041209000148.GA4674@troutmask.apl.washington.edu> <20041209000710.GB4674@troutmask.apl.washington.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041209000710.GB4674@troutmask.apl.washington.edu> User-Agent: Mutt/1.4.2.1i Subject: Re: make(1) is broken X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Dec 2004 01:06:58 -0000 On Wed, Dec 08, 2004 at 04:07:10PM -0800, Steve Kargl wrote: > > troutmask:root[225] find /usr/obj/ -name make.core > /usr/obj/usr/src/sys/SPEW/make.core > troutmask:root[226] gdb /usr/bin/make /usr/obj/usr/src/sys/SPEW/make.core > > #0 Lst_Remove (list=0x5580a0, ln=0x0) > at /usr/src/usr.bin/make/lst.lib/lstRemove.c:74 > 74 if (ln->nextPtr != NULL) > (gdb) bt > #0 Lst_Remove (list=0x5580a0, ln=0x0) > at /usr/src/usr.bin/make/lst.lib/lstRemove.c:74 > #1 0x00000000004052bb in Dir_Destroy (pp=0x81e780) > at /usr/src/usr.bin/make/dir.c:1143 > #2 0x0000000000405300 in Dir_ClearPath (path=0x5580a0) > at /usr/src/usr.bin/make/dir.c:1172 > #3 0x0000000000404283 in Dir_End () at /usr/src/usr.bin/make/dir.c:265 > #4 0x000000000040a8da in main (argc=2, argv=0x7fffffffe3e0) > at /usr/src/usr.bin/make/main.c:888 > Looking at the diff between the 1.17 and 1.16, I suspect this chunk of code in Lst_Remove: - if (!Lst_Valid(list) || !Lst_NodeValid(ln, list)) { - return (FAILURE); - } should have been replaced by if (list == NULL || ln == NULL) return; -- Steve