NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/41523: Dirty filesystem causes mutex error



>Number:         41523
>Category:       kern
>Synopsis:       Dirty filesystem causes mutex error
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 02 09:45:00 +0000 2009
>Originator:     Martti Kuparinen
>Release:        NetBSD 5.99.x
>Organization:
>Environment:
>Description:

I updated and rebuilt the whole i386 distribution and rebooted my NetBSD
domU with the new 5.99.13 kernel. This is the panic I'm getting:

NetBSD 5.99.13 (XEN3PAE_DOMU) #0: Tue Jun  2 10:37:27 EEST 2009
...
root file system type: ffs
init: copying out path `/sbin/init' 11
Tue Jun  2 11:05:05 EEST 2009
Starting root file system check:
/dev/rxbd0a: 206770 files, 2260464 used, 2822439 free (9631 frags, 351601 
blocks, 0.2% fragmentation)
/dev/rxbd0a: MARKING FILE SYSTEM CLEAN
Mutex error: mutex_vector_enter: locking against myself

lock address : 0x00000000ca235e2c
current cpu  :                  0
current lwp  : 0x00000000c9e14060
owner field  : 0x00000000c9e14060 wait/spin:                0/0

panic: lock error
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0129e74 cs 9 eflags 246 cr2 805ecf8 ilevel 0
Stopped in pid 10.1 (fsck_ffs) at       netbsd:breakpoint+0x4:  popl    %ebp
db> bt
breakpoint(c0427e67,cad1e9d8,c045f080,c03215ba,c0427e67,1,0,0,cad1e9d8,c9e14060)
 at netbsd:breakpoint+0x4
panic(c0449139,c043704f,c04110a2,c04515a7,ca235e2c,0,c9e14060,c0166e2f,0,c9e1406
0) at netbsd:panic+0x1be
lockdebug_abort(ca235e2c,c04672fc,c04110a2,c04515a7,cad1ea20,cad1eb60,cad1ea4c,c
020945d,ca235e2c,c04110a2) at netbsd:lockdebug_abort+0x2d
mutex_abort(ca235e2c,c04110a2,c04515a7,c03c1335,c9e1cc38,c9e14060,0,0,c9e1cc38,c
ad1eb60) at netbsd:mutex_abort+0x34
mutex_vector_enter(ca235e2c,0,cad1eb3c,0,0,0,38,0,26,ca235e2c) at netbsd:mutex_v
ector_enter+0x1ad
mountd_set_exports_list(cad1eb60,c9e14060,cad1eb8c,805ecf8,1,ca1b8bc0,cad1eb8c,c
03b8fda,ca23552c,805ecf8) at netbsd:mountd_set_exports_list+0x111
nfs_export_update_30(ca23552c,805ecf8,ca1b8bbc,c9e1cc38,16,ca23552c,cad1ecac,c03
c6d45,ca23552c,805ecf8) at netbsd:nfs_export_update_30+0x41
vfs_hooks_reexport(ca23552c,805ecf8,ca1b8bbc,cad1ecd0,55001,ca1b8bbc,cad1ebec,c0
1643dd,11e040c,ca1b8bbc) at netbsd:vfs_hooks_reexport+0x4a
do_sys_mount(c9e14060,0,805ecfa,805ecf8,0,bf7fe4d4,0,4,cad1ed28,c0465d3c) at net
bsd:do_sys_mount+0x3e5
sys___mount50(c9e14060,cad1ed00,cad1ed28,bb73f000,c9e1ab98,c9e15594,19a,805ecfa,
805ecf8,55001) at netbsd:sys___mount50+0x49
syscall(cad1ed48,1f,1f,1f,1f,1,1,bf7fe4e8,0,55001) at netbsd:syscall+0xce


Next I ran "xm destroy xxx" on my dom0 and started the domU again as I
thought it would have clean filesystem (see the "MARKING FILE SYSTEM CLEAN"
line above). And it had, now I was able to boot normally.


root file system type: ffs
init: copying out path `/sbin/init' 11
Tue Jun  2 11:07:50 EEST 2009
Starting root file system check:
/dev/rxbd0a: file system is clean; not checking
swapctl: adding /dev/xbd0b as swap device at priority 0
Starting file system checks:
/dev/rxbd0a: file system is mounted read-write on /; not checking
/dev/rxbd0e: file system is journaled; not checking
Setting tty flags.


My fstab looks this

/dev/xbd0a      /               ffs     rw              1 1
/dev/xbd0b      none            swap    sw              0 0
/dev/xbd0e      /home           ffs     rw,log          1 2
tmpfs           /tmp            tmpfs   rw              0 0
kernfs          /kern           kernfs  rw              0 0
ptyfs           /dev/pts        ptyfs   rw              0 0
procfs          /proc           procfs  rw              0 0
/dev/xbd1a      /cdrom          cd9660  ro,noauto       0 0


The problem noticed by first running "halt -p" which causes

panic: kernel diagnostic assertion "!fd_isused(fdp, fd)" failed: file 
"/home/src/sys/kern/kern_descrip.c", line 175
Begin traceback...
uvm_fault(0xc9e1a350, 0, 1) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 0 eip c0136121 cs 9 eflags 10246 cr2 6 ilevel 0
panic: trap
Faulted in mid-traceback; aborting...
dumping to dev 142,1 offset 534615
dump device bad

which causes dirty filesystem, which causes this panic, which in turn makes
it quite difficult to reboot a host e.g. after upgrades...

>How-To-Repeat:

Simply run "halt -pÃ" to trigger the assert. Now you have a dirty filesystem.
Power off and start again and see the mutex error after fsck fixes the
filesystem.

>Fix:



Home | Main Index | Thread Index | Old Index