On Sat, Dec 13, 2003 at 05:00:47PM +0000, Ian Dowse wrote: > In message <20031210234538.GA746_at_buffy.brucec.backnet>, Bruce Cran writes: > >#10 0xc04bb923 in panic (fmt=0xc05f16d7 "getnewvnode: free vnode isn't") > > at /usr/src/sys/kern/kern_shutdown.c:534 > >#11 0xc0500fb5 in getnewvnode (tag=0xc05f432f "ufs", mp=0xc43f2000, vops=0x0, > > vpp=0x0) at /usr/src/sys/kern/vfs_subr.c:1004 > > Could people seeing this panic try the following patch? I haven't > thought through this in much detail, but it seems that vnodes should > be removed from the free list before being cleaned. The addition > of the VI_DOINGINACT test about a year ago probably made this panic > more likely, but I don't know why it has suddenly cropped up recently. > > Jeff, does this look reasonable to you? It seems that while most > callers of vclean() ensure that the vnode is not on the free list, > some direct users of vgone/vgonel do not (e.g. vflush, vrecycle). > This could result in a vnode being on the free list while it is > being recycled. BTW, I think we may no longer need to increment the > reference count in vclean(), and the comment about VOP_INACTIVE > before the VOP_LOCK() call is no longer accurate. > > I guess it's possible that this could also affect the sysinstall > crash, but that is probably unlikely. > The patch hasn't stopped the panics, but I've tracked down a series of actions which can trigger it fairly reliably. Firstly, the new code is run after mounting the root filesystem (once), on shutdown lots of times, once when I plug the USB Speedtouch 330 modem (ugen0) in (only if 'ppp -ddial' is already running), and twice when modem_run from the speedtouch port is run. I ran a stress test of my system, compiling world, uncompressing archives, cvsupping etc while the modem was plugged in. I unplugged the modem, plugged it back in, got the 'ugenread: no pipe' messages, ran modem_run again and ppp picked up the connection again. I then ran 'du -h /usr/src' and after a second the system paniced. -- Bruce Cran
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:34 UTC