panic: bufwrite: buffer is not busy???

John Baldwin jhb at freebsd.org
Tue Feb 1 14:53:11 UTC 2011


On Tuesday, February 01, 2011 12:53:36 am Eugene Grosbein wrote:
> On 31.01.2011 22:46, John Baldwin wrote:
> 
> >># gdb kernel
> >> GNU gdb 6.1.1 [FreeBSD]
> >> Copyright 2004 Free Software Foundation, Inc.
> >> GDB is free software, covered by the GNU General Public License, and you are
> >> welcome to change it and/or distribute copies of it under certain 
> > conditions.
> >> Type "show copying" to see the conditions.
> >> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> >> This GDB was configured as "amd64-marcel-freebsd"...
> >> (gdb) l *0xffffffff803c1315
> >> 0xffffffff803c1315 is in ng_address_hook 
> > (/home/src/sys/netgraph/ng_base.c:3504).
> >> 3499             * Quick sanity check..
> >> 3500             * Since a hook holds a reference on it's node, once we know
> >> 3501             * that the peer is still connected (even if invalid,) we 
> > know
> >> 3502             * that the peer node is present, though maybe invalid.
> >> 3503             */
> >> 3504            if ((hook == NULL) ||
> >> 3505                NG_HOOK_NOT_VALID(hook) ||
> >> 3506                NG_HOOK_NOT_VALID(peer = NG_HOOK_PEER(hook)) ||
> >> 3507                NG_NODE_NOT_VALID(peernode = NG_PEER_NODE(hook))) {
> >> 3508                    NG_FREE_ITEM(item);
> > 
> > Hmmm.  I think you might have a hardware problem.  Notice the fault address, 
> > it is 0x200000030.  Can you do 'x/i <instruction pointer>'?
> 
> (gdb) x/i 0xffffffff803c1315
> 0xffffffff803c1315 <ng_address_hook+37>:        testb  $0x1,0x28(%rdx)

Hmm, offset is 0x28, so the original pointer would have been 0x200000008,
which has two bits set.  That is a bit more of a stretch.

-- 
John Baldwin


More information about the freebsd-net mailing list