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

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




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