From owner-freebsd-stable Mon Sep 9 13:49:41 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1D7937B400 for ; Mon, 9 Sep 2002 13:49:36 -0700 (PDT) Received: from tomts14-srv.bellnexxia.net (tomts14.bellnexxia.net [209.226.175.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 56B9B43E65 for ; Mon, 9 Sep 2002 13:49:35 -0700 (PDT) (envelope-from morewood@otterhole.ods.org) Received: from otterhole.ods.org ([64.230.13.18]) by tomts14-srv.bellnexxia.net (InterMail vM.5.01.04.19 201-253-122-122-119-20020516) with ESMTP id <20020909204933.MOXB6222.tomts14-srv.bellnexxia.net@otterhole.ods.org> for ; Mon, 9 Sep 2002 16:49:33 -0400 Received: from otterhole.ods.org (localhost [127.0.0.1]) by otterhole.ods.org (8.12.4/8.11.4) with ESMTP id g89Kn4h9057199 for ; Mon, 9 Sep 2002 16:49:05 -0400 (EDT) (envelope-from morewood@otterhole.ods.org) Received: (from morewood@localhost) by otterhole.ods.org (8.12.5/8.12.3/Submit) id g89Kn4Zw057198 for freebsd-stable@freebsd.org; Mon, 9 Sep 2002 16:49:04 -0400 (EDT) Date: Mon, 9 Sep 2002 16:49:03 -0400 From: Al To: freebsd-stable@freebsd.org Subject: Re: kernel panic, perhaps in xl driver, perhaps not Message-ID: <20020909204903.GA56794@otterhole.ods.org> References: <20020909192749.GB56603@otterhole.ods.org> <20020909195715.GA86404@walton.maths.tcd.ie> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20020909195715.GA86404@walton.maths.tcd.ie> User-Agent: Mutt/1.3.27i Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I can blindly do as you suggest... (kgdb) print m_new $1 = (struct mbuf *) 0xc0ee7c00 (kgdb) print m_new->m_hdr.mh_flags $2 = 2 (kgdb) print mclfree $3 = (union mcluster *) 0xc0e6e800 (kgdb) print _mp $4 = 0x0 Fearing that this is not as useful as it could be, I had a quick peek at the /usr/include/sys/mbuf.h to see if I could understand what was going on, at least as so far as collecting all the information for which I have been asked. (kgdb) print mclfree->mcl_next $1 = (union mcluster *) 0xc0e56000 (kgdb) print mclfree->mcl_buf $2 = "\000`åÀÿÿÿÿ\000\004v`\013k\b\000E\000:\000·?\000\000\200\021ؽ\216·Æ3\216·Æÿ\000\211\000\211\000:\000\000\201l\001\020\000\001\000\000\000\000\000\000 EOEPEEEPENEBEJEOEIEFFCEFCACACABL\000\000 \000\0016û\223ºå£`³Qco\001íÕ\227ò\210.ö·V\037E{µrÙ(J'e\021\003^yÐq¿|\001W\"Â\003hîÈgk\200zĺ´\226î.ïίñ½b\216\211\206\e\013çp\026-Èì\013cu³©/\203£\211/\0272,31é8ûÛ3ï×оÆ\032°K±^Ù\003"... I hope there is nothing sensitive in there! This is one thing that I do know, this is pretty much meaningless to me. al On Mon, Sep 09, 2002 at 08:57:16PM +0100, David Malone wrote: > On Mon, Sep 09, 2002 at 03:27:50PM -0400, Al wrote: > > (kgdb) up > > #6 0xc02a0984 in xl_newbuf (sc=0xc1a5c000, c=0xc1a5c698) at /usr/src/sys/pci/if_xl.c:1727 > > 1727 MCLGET(m_new, M_DONTWAIT); > > (kgdb) list > > 1722 > > 1723 MGETHDR(m_new, M_DONTWAIT, MT_DATA); > > 1724 if (m_new == NULL) > > 1725 return(ENOBUFS); > > 1726 > > 1727 MCLGET(m_new, M_DONTWAIT); > > 1728 if (!(m_new->m_flags & M_EXT)) { > > 1729 m_freem(m_new); > > 1730 return(ENOBUFS); > > 1731 } > > > > (kgdb) print m_new > > $1 = (struct mbuf *) 0xc0ee7c00 > > (kgdb) print m_new->m_flags > > There is no member named m_flags. > > You'd have to print m_new->m_hdr.mh_flags 'cos m_flags is a #define. > However, I'd guess the problem is somewhere in MCLGET or that the > freelist is corrupted. You could try "print mclfree" and "print _mp". > > (Have a look in /usr/include/sys/mbuf.h if you want to see what is > going on...) > > David. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-stable" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message