From owner-freebsd-questions@FreeBSD.ORG Tue Dec 20 09:30:01 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0D82416A41F for ; Tue, 20 Dec 2005 09:30:01 +0000 (GMT) (envelope-from LukeD@pobox.com) Received: from thorn.pobox.com (vds.fauxbox.com [208.210.124.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BAD243D62 for ; Tue, 20 Dec 2005 09:29:58 +0000 (GMT) (envelope-from LukeD@pobox.com) Received: from thorn (localhost [127.0.0.1]) by thorn.pobox.com (Postfix) with ESMTP id CAC73B8 for ; Tue, 20 Dec 2005 04:30:18 -0500 (EST) Received: from pool-71-113-106-149.sttlwa.dsl-w.verizon.net (pool-71-113-106-149.sttlwa.dsl-w.verizon.net [71.113.106.149]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by thorn.sasl.smtp.pobox.com (Postfix) with ESMTP id 2CF171AE8 for ; Tue, 20 Dec 2005 04:30:17 -0500 (EST) Date: Tue, 20 Dec 2005 01:29:52 -0800 (PST) From: Luke Dean X-X-Sender: lukas@border.crystalsphere.multiverse To: freebsd-questions@freebsd.org Message-ID: <20051220010208.D19327@border.crystalsphere.multiverse> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: Possible solution to lockups on FreeBSD 6? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Luke Dean List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Dec 2005 09:30:01 -0000 In my ongoing quest to figure out why my machine keeps locking up since I upgraded from 5.4 to 6.0, I came across this interesting passage in man (5) pf.conf: BUGS Due to a lock order reversal (LOR) with the socket layer, the use of the group and user filter parameter in conjuction with a Giant-free netstack can result in a deadlock. If you have to use group or user you must set debug.mpsafenet to ``0'' from the loader(8), for the moment. This work- around will still produce the LOR, but Giant will protect from the dead- lock. In the release notes for FreeBSD 6, I found: Fine-grained locking has been applied to many of the data structures in the IPX/SPX protocol stack. While not fully MPSAFE at this point, it is generally safe to use IPX/SPX without the Giant lock (in other words, the debug.mpsafenet sysctl variable may be set to 1). While I don't fully understand what this passage is talking about, I take it to mean that the default value of debug.mpsafenet is now 1, and that this is a new feature of FreeBSD version 6. I use pf. I use the user filter parameter on some oft-evaluated rules. I discovered that my debug.mpsafenet is indeed "1" . My system is deadlocking occasionally under 6 where it never did so under 5.4. I think I'm going to attempt to set debug.mpsafenet to "0" in my loader.conf and see how many days I can go without a lockup this time. I've seen several threads lately from people having lockup troubles after upgrading to version 6, and at least one of them mentioned pf specifically, so I bet some of the rest of you may want to try this too.