Bug #1985
closedpanic: reassignbuf: dup lblk vp 0xffffffe0136df000 bp 0xffffffe00df730b0
0%
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.
Updated by ahuete.devel almost 14 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 <y0n3t4n1@gmail.com>:
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 0xffffffe00df730b0And 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.
Updated by y0n3t4n1 almost 14 years ago
On Wed, Feb 09, 2011 at 07:56:42AM +0000, Antonio Huete Jimenez (via DragonFly issue tracker) wrote:
Antonio Huete Jimenez <ahuete.devel@gmail.com> 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.
Updated by y0n3t4n1 almost 14 years ago
Resolved by one or more of recent commits, probably either 7a3eee88 or 39d69dae .