Project

General

Profile

Actions

Bug #1985

closed

panic: reassignbuf: dup lblk vp 0xffffffe0136df000 bp 0xffffffe00df730b0

Added by y0n3t4n1 about 13 years ago. Updated about 13 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Hello.
Caught this panic this morning during `hammer cleanup' on a Atom D510
based system with 4G bytes of RAM installed and running x86_64 kernel.
It was running pbulk at the same time. The kernel was built from source
s of 8d2576868. The `insufficient buffers to rebalance the tree' warnings
have been observed before the system panicked. The global variable nbuf
(which holds the value for vfs.nbuf sysctl node) contains 1475 in the kgdb
session, which is much lower than the value seen on other systems running
32-bit kernel.

:
Feb 9 05:05:09 atom64 kernel: hammer: System has insufficient buffers to rebalance the tree. nbuf < 3969
Feb 9 05:19:01 atom64 kernel: hammer: System has insufficient buffers to rebalance the tree. nbuf < 3969
Feb 9 05:27:23 atom64 syslogd: kernel boot file is /boot/kernel/kernel
Feb 9 05:27:23 atom64 kernel: panic: reassignbuf: dup lblk vp 0xffffffe0136df000 bp 0xffffffe00df730b0

And the backtrace follows:

#4 0xffffffff802a9c1e in panic (
fmt=0xffffffff80530140 "reassignbuf: dup lblk vp p bp %p")
at /usr/src/sys/kern/kern_shutdown.c:799
#5 0xffffffff8031262f in reassignbuf (bp=0xffffffe00df730b0)
at /usr/src/sys/kern/vfs_subr.c:1046
#6 0xffffffff802fa526 in bundirty (bp=0xffffffe00df730b0)
at /usr/src/sys/kern/vfs_bio.c:1247
#7 0xffffffff802fe705 in bawrite (bp=0xffffffe00df730b0)
at /usr/src/sys/kern/vfs_bio.c:1025
#8 0xffffffff802fe98a in vfs_bio_awrite (bp=0xffffffe00df730b0)
at /usr/src/sys/kern/vfs_bio.c:1937
#9 0xffffffff802fedae in flushbufqueues (q=BQUEUE_DIRTY)
at /usr/src/sys/kern/vfs_bio.c:2694
#10 0xffffffff802ff041 in buf_daemon () at /usr/src/sys/kern/vfs_bio.c:2525
#11 0xffffffff8029961e in suspend_kproc (td=0x0, timo=0)
at /usr/src/sys/kern/kern_kthread.c:189
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(kgdb) fr 5
#5 0xffffffff8031262f in reassignbuf (bp=0xffffffe00df730b0)
at /usr/src/sys/kern/vfs_subr.c:1046
1046 panic("reassignbuf: dup lblk vp %p bp %p",
(kgdb) l
1041 buf_rb_tree_RB_REMOVE(&vp->v_rbdirty_tree, bp);
1042 bp->b_flags x%x
= ~B_VNDIRTY;
1043 }
1044 if ((bp->b_flags & B_VNCLEAN) == 0) {
1045 if (buf_rb_tree_RB_INSERT(&vp->v_rbclean_tree, bp)) {
1046 panic("reassignbuf: dup lblk vp %p bp %p",
1047 vp, bp);
1048 }
1049 bp->b_flags |= B_VNCLEAN;
1050 }
(kgdb)

Best Regards,
YONETANI Tomokazu.

Actions #1

Updated by ahuete.devel about 13 years ago

Hi Yonetani,

There was a correction on February 3th specifically for x86_64. I
don't know if that's related to the panic somehow or not, but
definitely for the rebalance issue you're having.

http://gitweb.dragonflybsd.org/dragonfly.git/commit/7a3eee88d3ffab887e1b2d812672f20071d39947

Cheers,
Antonio Huete

2011/2/9 YONETANI Tomokazu <>:

Hello.
Caught this panic this morning during `hammer cleanup' on a Atom D510
based system with 4G bytes of RAM installed and running x86_64 kernel.
It was running pbulk at the same time.  The kernel was built from source
s of 8d2576868.  The `insufficient buffers to rebalance the tree' warnings
have been observed before the system panicked.  The global variable nbuf
(which holds the value for vfs.nbuf sysctl node) contains 1475 in the kgdb
session, which is much lower than the value seen on other systems running
32-bit kernel.

                               :
 Feb  9 05:05:09 atom64 kernel: hammer: System has insufficient buffers to rebalance the tree.  nbuf < 3969
 Feb  9 05:19:01 atom64 kernel: hammer: System has insufficient buffers to rebalance the tree.  nbuf < 3969
 Feb  9 05:27:23 atom64 syslogd: kernel boot file is /boot/kernel/kernel
 Feb  9 05:27:23 atom64 kernel: panic: reassignbuf: dup lblk vp 0xffffffe0136df000 bp 0xffffffe00df730b0

And the backtrace follows:

#4  0xffffffff802a9c1e in panic (
   fmt=0xffffffff80530140 "reassignbuf: dup lblk vp p bp %p")
   at /usr/src/sys/kern/kern_shutdown.c:799
#5  0xffffffff8031262f in reassignbuf (bp=0xffffffe00df730b0)
   at /usr/src/sys/kern/vfs_subr.c:1046
#6  0xffffffff802fa526 in bundirty (bp=0xffffffe00df730b0)
   at /usr/src/sys/kern/vfs_bio.c:1247
#7  0xffffffff802fe705 in bawrite (bp=0xffffffe00df730b0)
   at /usr/src/sys/kern/vfs_bio.c:1025
#8  0xffffffff802fe98a in vfs_bio_awrite (bp=0xffffffe00df730b0)
   at /usr/src/sys/kern/vfs_bio.c:1937
#9  0xffffffff802fedae in flushbufqueues (q=BQUEUE_DIRTY)
   at /usr/src/sys/kern/vfs_bio.c:2694
#10 0xffffffff802ff041 in buf_daemon () at /usr/src/sys/kern/vfs_bio.c:2525
#11 0xffffffff8029961e in suspend_kproc (td=0x0, timo=0)
   at /usr/src/sys/kern/kern_kthread.c:189
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(kgdb) fr 5
#5  0xffffffff8031262f in reassignbuf (bp=0xffffffe00df730b0)
   at /usr/src/sys/kern/vfs_subr.c:1046
1046                                    panic("reassignbuf: dup lblk vp %p bp %p",
(kgdb) l
1041                            buf_rb_tree_RB_REMOVE(&vp->v_rbdirty_tree, bp);
1042                            bp->b_flags x%x
= ~B_VNDIRTY;
1043                    }
1044                    if ((bp->b_flags & B_VNCLEAN) == 0) {
1045                            if (buf_rb_tree_RB_INSERT(&vp->v_rbclean_tree, bp)) {
1046                                    panic("reassignbuf: dup lblk vp %p bp %p",
1047                                          vp, bp);
1048                            }
1049                            bp->b_flags |= B_VNCLEAN;
1050                    }
(kgdb)

Best Regards,
YONETANI Tomokazu.

Actions #2

Updated by y0n3t4n1 about 13 years ago

On Wed, Feb 09, 2011 at 07:56:42AM +0000, Antonio Huete Jimenez (via DragonFly issue tracker) wrote:

Antonio Huete Jimenez <> added the comment:

Hi Yonetani,

There was a correction on February 3th specifically for x86_64. I
don't know if that's related to the panic somehow or not, but
definitely for the rebalance issue you're having.

http://gitweb.dragonflybsd.org/dragonfly.git/commit/7a3eee88d3ffab887e1b2d812672f20071d39947

... Or maybe the fix (by you) to hw.physmem, which definitely appears
wrong now :) I'll try the kernel with those fixes in.

$ sysctl hw.physmem hw.usermem
hw.physmem: 132812800
hw.usermem: 4241985536

Thanks.

Actions #3

Updated by y0n3t4n1 about 13 years ago

Resolved by one or more of recent commits, probably either 7a3eee88 or 39d69dae .

Actions

Also available in: Atom PDF