> On 1. Jul 2021, at 18:24, Martin Husemann <martin%duskware.de@localhost> wrote: > > I did not trust macppc / lockdebug so reproduced it on evbarm. > > Unfortunately nearly identical (not making any sense to me) output again... I'm quite sure one thread does something like lookup_fastforward -> lookup_parsepath -> VOP_PARSEPATH -> ... -> fstrans_start where dvp->v_mount is currently unmounting and therefore suspended. If lookup_fastforward holds a lock on vi_nc_lock we have a deadlock. According to vnode_if.src VOP_PARSEPATH(dvp...) should take a locked vnode but here this lock is missing. So either - make sure the vnode is locked so fstrans_start will no loner block. or - add FSTRANS=NO to vop_parsepath, file kern/vnode_if.src and allow unlocked vnodes: vop_parsepath { + FSTRANS=NO IN struct vnode *dvp; David? -- J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
Attachment:
signature.asc
Description: Message signed with OpenPGP