Date: Sat, 24 Jun 2017 09:22:53 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 220217] deadlock on enc and pf Message-ID: <bug-220217-8-yMQwibPtHj@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-220217-8@https.bugs.freebsd.org/bugzilla/> References: <bug-220217-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220217 --- Comment #3 from Kristof Provost <kp@freebsd.org> --- (In reply to vegeta from comment #2) There is no other thread. We assert that 'rw_wowner(rw) != curthread', so the thread holding the lock must not be the current thread (trying to acquire the lock). That assertion fails, so we are the thread holding the lock, yet we try to lock again. That seems to be in tcp_timer_rexmt(). It holds a write lock on the struct inpcb, so when pf goes to look up the inpcb and tries to get a read lock we run into this assertion failure. (tcp_output() in fact asserts that the inpcb must be write locked when it's called.) I'm not quite sure how to fix this though. In fact, right now I don't understand how this ever works. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-220217-8-yMQwibPtHj>
