Bug #1078

HAMMER: RB_EMPTY assertion panic

Added by bastyaelvtars over 5 years ago. Updated almost 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Hello,

panic: assertion: RB_EMPTY(&hmp->rb_inos_root) in hammer_free_hmp
Trace beginning at frame 0xcb0f3bb4
panic(cb0f3bd8,cad78000,0,c9b04d58,cb0f3bec) at panic+0x8c
panic(c051f5f7,c054313b,c05073f5,0,c9b04d58) at panic+0x8c
hammer_free_hmp(c9b04f60,c9b04d58,cb0f3c30,c0312db8,c9b04d58) at
hammer_free_hmp+0xa5 hammer_vfs_unmount
(c9b04d58,80000,80000,c9b04d78,1) at hammer_vfs_unmount+0x33 dounmount
(c9b04d58,80000,c9b04d58,1,cb0f3c80) at dounmount+0x1a8
vfs_umountall_callback(c9b04d58,0,c0625694,0,1) at
vfs_umountall_callback+0x13 mountlist_scan(c030bc6a,0,6) at
mountlist_scan+0xe8 vfs_unmountall(0,0,0,0,cb0f3cbc) at vfs_unmountall
+0x11 boot(0,cb0f3d34,c04d1672,cb0f3cf0,6) at boot+0x21d sys_reboot
(cb0f3cf0,6,2fb3d,0,c9b099d8) at sys_reboot+0x23 syscall2(cb0f3d40) at
syscall2+0x1e9 Xint0x80_syscall() at Xint0x80_syscall+0x36
Debugger("panic")
Stopped at Debugger+0x34: movb $0,in_Debugger.3949

I was doing a reboot. Mysteriously, a core dump has not been created so
I will try my best to reproduce it.

History

#1 Updated by dillon over 5 years ago

:Hello,
:
:panic: assertion: RB_EMPTY(&hmp->rb_inos_root) in hammer_free_hmp
:Trace beginning at frame 0xcb0f3bb4
:panic(cb0f3bd8,cad78000,0,c9b04d58,cb0f3bec) at panic+0x8c
:panic(c051f5f7,c054313b,c05073f5,0,c9b04d58) at panic+0x8c
:hammer_free_hmp(c9b04f60,c9b04d58,cb0f3c30,c0312db8,c9b04d58) at
:hammer_free_hmp+0xa5 hammer_vfs_unmount
:(c9b04d58,80000,80000,c9b04d78,1) at hammer_vfs_unmount+0x33 dounmount
:(c9b04d58,80000,c9b04d58,1,cb0f3c80) at dounmount+0x1a8
:vfs_umountall_callback(c9b04d58,0,c0625694,0,1) at
:vfs_umountall_callback+0x13 mountlist_scan(c030bc6a,0,6) at
:mountlist_scan+0xe8 vfs_unmountall(0,0,0,0,cb0f3cbc) at vfs_unmountall
:+0x11 boot(0,cb0f3d34,c04d1672,cb0f3cf0,6) at boot+0x21d sys_reboot
:(cb0f3cf0,6,2fb3d,0,c9b099d8) at sys_reboot+0x23 syscall2(cb0f3d40) at
:syscall2+0x1e9 Xint0x80_syscall() at Xint0x80_syscall+0x36
:Debugger("panic")
:Stopped at Debugger+0x34: movb $0,in_Debugger.3949
:
:I was doing a reboot. Mysteriously, a core dump has not been created so
:I will try my best to reproduce it.
:
:--
:Gergo Szakal MD <>

Shoot, a core dump would have told us why there were still inodes
in the tree. That assertion occurs at the tail end of the umount code,
basically saying "Hey, there shouldn't be any inode structures left at
this point".

The most likely cause is that a process got stuck and couldn't close()
all of its file descriptors, leaving a vnode active on the mount. Did
you happen to see any stuck process or forced-unmount warnings?

-Matt

#2 Updated by bastyaelvtars over 5 years ago

On Mon, 21 Jul 2008 11:33:45 -0700 (PDT)
Matthew Dillon <> wrote:

Nope, at least not related to the HAMMER mount. I will try reproducing
the thing and report back. I dunno why no coredump has been created, it
dumped out the RAM after entering 'panic' but savecore found no dump.

#3 Updated by dillon about 5 years ago

This is believed due to directories with many dirty pending file creations or
deletions and may have been resolved by a recent commit. Another possibility is
that there is an issue with unmounting during a shutdown when the HAMMER
filesystem is exported via NFS.

Going to leave open for now. Close in 3 months if no more issues reported.

#4 Updated by alexh almost 5 years ago

Three months have passed and no further discussion on this bug. I'm closing this
for now.

Also available in: Atom PDF