> On 18. Jan 2019, at 14:13, Tom Ivar Helbekkmo <tih%hamartun.priv.no@localhost> wrote: > > I just had a really weird crash on a NetBSD/amd64-current system, > running a kernel 8.99.30 from January 2nd. Here's what happened: > > I was going to experiment with a rather large set of changes to the > local copy of the source tree, which I'd want to revert afterwards, so I > created a directory on another file system, and mounted it on top of > /usr/src with mount_union. I then copied a 10MiB diff into /usr/src/. > That went well - the file was visible in /usr/src/, and I observed that > it was correctly stored in the auxiliary directory, as expected. > > Then I tried reading the file from /usr/src/, and the system immediately > crashed, and dumped core, with the panic: > > kernel diagnostic assertion "fli->fli_trans_cnt > 0" failed: file "/usr/src/sys/kern/vfs_trans.c", line 451 The VOP_UNLOCK() doesn't match the corresponding vn_lock(). <snip> > fstrans_done() at fstrans_done+0x126 > VOP_UNLOCK() at VOP_UNLOCK+0x5b > vput() at vput+0x11 > union_lookup1() at union_lookup1+0xfe This is while (dvp != udvp && (dvp->v_type == VDIR) && (mp = dvp->v_mountedhere)) { if (vfs_busy(mp)) continue; vput(dvp); which looks wrong. Please show your mounted file systems. -- J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
Attachment:
signature.asc
Description: Message signed with OpenPGP