From owner-freebsd-bugs@FreeBSD.ORG Wed Mar 22 14:10:20 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 51F6116A41F for ; Wed, 22 Mar 2006 14:10:20 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54CE943D53 for ; Wed, 22 Mar 2006 14:10:19 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k2MEAJdd001170 for ; Wed, 22 Mar 2006 14:10:19 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k2MEAJQN001165; Wed, 22 Mar 2006 14:10:19 GMT (envelope-from gnats) Resent-Date: Wed, 22 Mar 2006 14:10:19 GMT Resent-Message-Id: <200603221410.k2MEAJQN001165@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Fabian Keil Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9AD3A16A400 for ; Wed, 22 Mar 2006 14:02:11 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61F5D43D55 for ; Wed, 22 Mar 2006 14:02:11 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k2ME2BWf013162 for ; Wed, 22 Mar 2006 14:02:11 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k2ME2AvL013152; Wed, 22 Mar 2006 14:02:10 GMT (envelope-from nobody) Message-Id: <200603221402.k2ME2AvL013152@www.freebsd.org> Date: Wed, 22 Mar 2006 14:02:10 GMT From: Fabian Keil To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: kern/94830: [patch] mount_nfs causes a fatal trap 18 if the value of desiredvnodes is below 1000 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Mar 2006 14:10:20 -0000 >Number: 94830 >Category: kern >Synopsis: [patch] mount_nfs causes a fatal trap 18 if the value of desiredvnodes is below 1000 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 22 14:10:18 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Fabian Keil >Release: RELENG_6 >Organization: >Environment: FreeBSD samba.local 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #8: Wed Mar 22 12:39:08 CET 2006 fk@TP51.local:/usr/obj/usr/src/sys/CASABLANCA i386 >Description: On a Pentium 90 with 16 MB RAM FreeBSD sets desiredvnodes to 926, this leads to a panic (Fatal trap 18: integer divide fault while in kernel mode) if mount_nfs is used. The panic is caused by line 826 in /usr/src/sys/nfsclient/nfs_vfsops.c: nmp->nm_wcommitsize = hibufspace / (desiredvnodes / 1000); desiredvnodes is an integer value, if it is divided by a value bigger than itself the result is zero. Kernel configuration: http://www.fabiankeil.de/tmp/casablanca/CASABLANCA dmesg: http://www.fabiankeil.de/tmp/casablanca/dmesg.boot kgdb backtrace: http://www.fabiankeil.de/tmp/casablanca/backtrace.txt >How-To-Repeat: Use mount_nfs on a machine with a desiredvnodes value below 1000 (or set sysctl kern.maxvnodes to a value below 1000 yourself). >Fix: Increase kern.maxvnodes by hand or let http://www.fabiankeil.de/sourcecode/nfs_vfsops.c.patch do the job. I'm not sure if ignoring the kernel's calculations is the right thing to do, but so far I didn't experience any ill side effects. >Release-Note: >Audit-Trail: >Unformatted: