tech-kern archive

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

kassert in vfs_bio.c

on a XEN3_DOM0 running some domUs I get this panic, usually within a day:
panic: kernel diagnostic assertion "!ISSET(bp->b_cflags, BC_BUSY)" failed: file0
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff804abdad cs e030 rflags 246 cr2  7f7ffdb81550 cp0
Stopped in pid 0.37 (system) at netbsd:breakpoint+0x5:  leave
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x255
__kernassert() at netbsd:__kernassert+0x2d
getnewbuf() at netbsd:getnewbuf+0x2c4
getblk() at netbsd:getblk+0x91
ffs_getblk() at netbsd:ffs_getblk+0x4f
ffs_cgupdate() at netbsd:ffs_cgupdate+0xb6
ffs_sync() at netbsd:ffs_sync+0x345
sync_fsync() at netbsd:sync_fsync+0x76
VOP_FSYNC() at netbsd:VOP_FSYNC+0x34
sched_sync() at netbsd:sched_sync+0x14d

or variations (I've also seen:
__kernassert() at netbsd:__kernassert+0x2d
getnewbuf() at netbsd:getnewbuf+0x2b4
getblk() at netbsd:getblk+0x91  
bio_doread() at netbsd:bio_doread+0x24
bread() at netbsd:bread+0x22
ffs_read() at netbsd:ffs_read+0x372
VOP_READ() at netbsd:VOP_READ+0x2d
ufs_readdir() at netbsd:ufs_readdir+0x10b
VOP_READDIR() at netbsd:VOP_READDIR+0x39
vn_readdir() at netbsd:vn_readdir+0x10e
sys___getdents30() at netbsd:sys___getdents30+0x89
syscall() at netbsd:syscall+0x98

I'm running a kernel with the additionnal checks in attachement, but
they didn't detect anything wrong before the above panic.

Any idea ? It could be related to running domUs, or vnd (the virtual disks are
backed by files, so the domUs access their data though
xbdback_xenbus -> vnd -> file in a ffs). I've a test box
with the same XEN3_DOM0 kernel which didn't panic this way yet, but it's
not running any domU.

any idea ?

Manuel Bouyer, LIP6, Universite Paris VI.  
     NetBSD: 26 ans d'experience feront toujours la difference

Home | Main Index | Thread Index | Old Index