Re: automount(?) hang with NetBSD 11.0_RC6
Taylor R Campbell <[email protected]> Fri, 24 Jul 2026 16:50:15 +0000
| Newsgroups | gmane.os.netbsd.general |
|---|---|
| Message-ID | <[email protected]> |
> From: Lloyd Parkes <[email protected]> > Date: Fri, 24 Jul 2026 14:56:11 +1200 > > It looks like all my makes are stuck waiting for fstrans_state_cv > with the auto unmounter waiting in fstrans_count_cv. What this means is: 1. The autounmounter is waiting (on fstcnt) for all concurrent file system operations to become quiescent so it can safely unmount the file system. (If you look at a stack trace, you'll probably find genfs_suspendctl <- vfs_suspend <- dounmount or something in there.) 2. The make(1) processes are waiting (on fstchg) to _start_ new file system operations, which can't happen until the automounter is done and has resumed the file system. 3. _Someone_ is still in the middle of a file system operation, and it's not clear who. We can probably rule out various wchans: kqueue, parked, nanoslp, poll, netio, select, ttyraw, pause. It wouldn't hurt to get stack traces for all of the processes waiting in fstchg, and the one (automountd) in fstcnt, but I don't have a good idea how the deadlock could be in any of those: - fstrans_setstate (where automountd is waiting for fstcnt) lets the _current thread_ remain in a transaction; and - the only way for the make(1) processes to be the cause of the trouble is if they are already in transactions on one file system and waiting for another file system and there's a deadlock between them somehow. (Maybe that can happen with autofs? Not sure how it works.) Unfortunately, I don't see any other threads that are obviously even potentially related. Maybe hannken@ will spot something I can't?