From owner-freebsd-current@FreeBSD.ORG Sat Aug 13 09:33:36 2005 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 457AA16A41F; Sat, 13 Aug 2005 09:33:36 +0000 (GMT) (envelope-from antoine@madhouse.dreadbsd.org) Received: from barton.dreadbsd.org (madhouse.dreadbsd.org [82.67.196.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id A214343D45; Sat, 13 Aug 2005 09:33:35 +0000 (GMT) (envelope-from antoine@madhouse.dreadbsd.org) Received: from barton.dreadbsd.org (localhost [127.0.0.1]) by barton.dreadbsd.org (8.13.4/8.13.4) with ESMTP id j7D9XXXq087664; Sat, 13 Aug 2005 11:33:33 +0200 (CEST) (envelope-from antoine@madhouse.dreadbsd.org) Received: (from antoine@localhost) by barton.dreadbsd.org (8.13.4/8.13.1/Submit) id j7D9XXeB087663; Sat, 13 Aug 2005 11:33:33 +0200 (CEST) (envelope-from antoine) Date: Sat, 13 Aug 2005 11:33:33 +0200 From: Antoine Brodin To: Kris Kennaway Message-Id: <20050813113333.592c999b.antoine.brodin@laposte.net> In-Reply-To: <20050813005233.GA48108@xor.obsecurity.org> References: <20050813004326.GA47855@xor.obsecurity.org> <20050813005233.GA48108@xor.obsecurity.org> X-Mailer: Sylpheed version 2.0.0 (GTK+ 2.6.9; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: phk@FreeBSD.org, current@FreeBSD.org Subject: Re: Infinite loop in devfs_create() X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Aug 2005 09:33:36 -0000 Kris Kennaway wrote: > On Fri, Aug 12, 2005 at 08:43:26PM -0400, Kris Kennaway wrote: > > I have an SMP amd64 package machine that has deadlocked, apparently > > here: > > > > --- trap 0x13, rip = 0xffffffff8034b2a1, rsp = 0xffffffffbe6f2a10, rbp = 0xffffffffbe6f2a40 --- > > devfs_create() at devfs_create+0x41 > > make_dev_credv() at make_dev_credv+0x148 > > make_dev() at make_dev+0x97 > > g_dev_taste() at g_dev_taste+0x130 > > g_new_provider_event() at g_new_provider_event+0x8a > > one_event() at one_event+0x19b > > g_run_events() at g_run_events+0x9 > > g_event_procbody() at g_event_procbody+0x7d > > fork_exit() at fork_exit+0xdf > > fork_trampoline() at fork_trampoline+0xe > > --- trap 0, rip = 0, rsp = 0xffffffffbe6f2d00, rbp = 0 --- > > > > If I break/continue and examine devfs_nextino, it appears to be > > looping infinitely in devfs_create: > > > > db> x/d devfs_nextino > > devfs_nextino: 746 > > [...] > > db> x/d devfs_nextino > > devfs_nextino: 339 > > > > This machine has a number of md mounts active (they are created and > > destroyed dynamically and tend to get up to high unit numbers, around > > ~600 at the time of deadlock). Also devfs mounts come and go, but I > > don't think anything else unusual is going on on the system. > > This could explain some mysterious deadlocks I've been getting on > sparc machines too, which also cycle through md devices in a similar > way. I bet something is not being cleaned up properly when the > devices are unconfigured, and eventually devfs is filling up all > available inodes (1024) and failing gracelessly. I'm not sure but this may be related to PR: kern/81588 Cheers, Antoine