tech-kern archive

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

Re: kassert in vfs_bio.c



On Wednesday 25 June 2008 12:51:39 Manuel Bouyer wrote:
> Hi,
> 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 attachment, but
> they didn't detect anything wrong before the above panic.

Forgot to attach diff ?

> 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 ?

Does this help?
http://www.netbsd.org/~cegger/xen_xbd.diff
(Original patch from reinoud, modified by me)

Christoph


Home | Main Index | Thread Index | Old Index