Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Sep 2002 16:49:03 -0400
From:      Al <bsdal@otterhole.ods.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: kernel panic, perhaps in xl driver, perhaps not
Message-ID:  <20020909204903.GA56794@otterhole.ods.org>
In-Reply-To: <20020909195715.GA86404@walton.maths.tcd.ie>
References:  <20020909192749.GB56603@otterhole.ods.org> <20020909195715.GA86404@walton.maths.tcd.ie>

next in thread | previous in thread | raw e-mail | index | archive | help
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




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