Subject: kern/3687: NFS client causes divide by zero
To: None <gnats-bugs@gnats.netbsd.org, rhialto@polder.ubc.kun.nl, frank@wins.uva.nl>
From: Olaf Seibert <rhialto@polder.ubc.kun.nl>
List: netbsd-bugs
Date: 05/30/1997 17:17:35
>Number:         3687
>Category:       kern
>Synopsis:       NFS client causes divide by zero
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 30 08:20:01 1997
>Last-Modified:
>Originator:     Olaf Seibert
>Organization:
___ Olaf 'Rhialto' Seibert      D787B44DFC896063 4CBB95A5BD1DAA96 
\X/ It's not easy having a good time    rhialto@polder.ubc.kun.nl
>Release:        1.2.1
>Environment:
	
System: GENERICADP 1.2.1 kernel for i386


>Description:
	NFS client operation causes divide by zero trap in kernel

	The trace command of DDB showed (retyped from the screen)

___qdivrem(0,0,0,0,0) at ___qdivrem+0x2b
___divdi3(0,0,0,0) at ___divdi3+0x5f
_nfs_bioread(f87cdf00,f9aacf20,0,f8795500,f9aaceec) at _nfs_bioread+0x43a
_nfs_read(f9aaced8,4000,f9aacf88,f8761200,f9aaced8) at _nfs_read+0x1e
_vn_read(f87ce000,f9aacf20,f8795500) at _vn_read+0xaf
_sys_read(f876120,f9aacf88,f9aacf80,0,3) at _sys_read+0xa3
_syscall() at _syscall+0x248
--- syscall (number 3) ---

>How-To-Repeat:
	I mounted a disk from an NT nfs server, cd'ed into a directory,
	and cat'ted an empty file.

	Other simple operation also caused crashes, maybe similar to
	this, maybe not. I'm not sure yet.

	I first saw this on a 586 with 32M ram, now I repeated it on
	a 486 with 16M ram. It also happened with an 1.2 kernel.
>Fix:
	Dunno :-(
>Audit-Trail:
>Unformatted: