From owner-freebsd-hackers Mon May 3 23:33:10 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134]) by hub.freebsd.org (Postfix) with ESMTP id 1D4D915043 for ; Mon, 3 May 1999 23:32:58 -0700 (PDT) (envelope-from grog@freebie.lemis.com) Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137]) by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id PAA09714; Tue, 4 May 1999 15:50:18 +0930 (CST) Received: (from grog@localhost) by freebie.lemis.com (8.9.3/8.9.0) id PAA38304; Tue, 4 May 1999 15:50:12 +0930 (CST) Date: Tue, 4 May 1999 15:50:12 +0930 From: Greg Lehey To: Warner Losh Cc: hackers@FreeBSD.ORG Subject: No deadc0de (was: What does this error message mean?) Message-ID: <19990504155011.T10134@freebie.lemis.com> References: <199905040455.WAA54862@harmony.village.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i In-Reply-To: <199905040455.WAA54862@harmony.village.org>; from Warner Losh on Mon, May 03, 1999 at 10:55:33PM -0600 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Monday, 3 May 1999 at 22:55:33 -0600, Warner Losh wrote: > > In debugging some experimental code in the kernel, I started seeing > the following message, followed a little while later by a panic. > > Data modified on freelist: word 2 of object 0xc059e260 size 20 previous type devbuf (0x80 != 0xdeadc0de) This suggests you're using INVARIANTS, right? > My guess is that one of two things is happening. Either I'm writing > to memory after I've free'd it, or I'm freeing something twice. Is > it possible to tell from this message which one I'm doing? It suggests to me that it's at least the first. The message comes from malloc() in kern/kern_malloc.c, and it's expecting to find what it put in there in free() (0xdeadc0de). Of course, that doesn't mean you're not free()ing twice, but free() checks for that with INVARIANTS, so I'd guess you're not doing that. Greg -- See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message