On Thu, Apr 07, 2022 at 02:53:07PM +0200, Alexander Bluhm wrote: > On Wed, Apr 06, 2022 at 03:23:55PM +0200, Sebastien Marie wrote: > > > panic: vref used where vget required > > > > could you try to reproduce with the following kernel diff ? > > My machine is still building release, before it took a day or two > to crash. But it has already printed some of your warnings. My > serial console creates time stamps, so you see how often it happens. > The rest of the time it was quiet. > > bluhm
I am still shared if it is expected or not... I don't know enough vnode lifecycle inside uvm object to be sure, but v_usecount=0 seems weird as uvn_attach() should have vref() the vnode. here, all the vnode has VXLOCK set. but one vnode has VBIOONSYNCLIST too. there is also both "uvn_io: start" and "uvn_io: after lock" for each vnode. > uvn_io: start: 0x22af3f70, type VREG, use 0, write 0, hold 0, flags (VXLOCK) > tag VT_UFS, ino 37521, on dev 0, 9 flags 0x100, effnlink 1, nlink 1 > mode 0100644, owner 0, group 9, size 54325 > uvn_io: after lock: 0x22af3f70, type VREG, use 0, write 0, hold 0, flags > (VXLOCK) > tag VT_UFS, ino 37521, on dev 0, 9 flags 0x100, effnlink 1, nlink 1 > mode 0100644, owner 0, group 9, size 54325 > uvn_io: start: 0x27880cc0, type VREG, use 0, write 0, hold 1, flags > (VXLOCK|VBIOONSYNCLIST) > tag VT_UFS, ino 757817, on dev 0, 10 flags 0x106, effnlink 1, nlink 1 > mode 0100660, owner 21, group 21, size 48008 > uvn_io: after lock: 0x27880cc0, type VREG, use 0, write 0, hold 1, flags > (VXLOCK|VBIOONSYNCLIST) > tag VT_UFS, ino 757817, on dev 0, 10 flags 0x106, effnlink 1, nlink 1 > mode 0100660, owner 21, group 21, size 48008 I have a diff for adding some stacktrace history for vnode (keeping track of lasts vref/vrele/vget/vput). but I am not sure it would be efficient to found the underline problem. Thanks. -- Sebastien Marie
