Date: Wed, 22 Mar 2006 14:02:10 GMT From: Fabian Keil <freebsd-listen@fabiankeil.de> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/94830: [patch] mount_nfs causes a fatal trap 18 if the value of desiredvnodes is below 1000 Message-ID: <200603221402.k2ME2AvL013152@www.freebsd.org> Resent-Message-ID: <200603221410.k2MEAJQN001165@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603221402.k2ME2AvL013152>