From nobody@FreeBSD.org  Fri Mar 24 09:37:37 2000
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21])
	by hub.freebsd.org (Postfix) with ESMTP id 1C3F137B7B6
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 24 Mar 2000 09:37:37 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.9.3/8.9.2) id JAA09017;
	Fri, 24 Mar 2000 09:37:37 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Message-Id: <200003241737.JAA09017@freefall.freebsd.org>
Date: Fri, 24 Mar 2000 09:37:37 -0800 (PST)
From: haering@in.tum.de
Sender: nobody@FreeBSD.org
To: freebsd-gnats-submit@FreeBSD.org
Subject: Realtek driver crashes when copying a lot of data via NFS
X-Send-Pr-Version: www-1.0

>Number:         17582
>Category:       kern
>Synopsis:       Realtek driver crashes when copying a lot of data via NFS
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    wpaul
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 24 09:40:01 PST 2000
>Closed-Date:    Wed Mar 29 12:09:40 PST 2000
>Last-Modified:  Wed Mar 29 12:12:51 PST 2000
>Originator:     Gerhard Hring
>Release:        4.0-RELEASE
>Organization:
>Environment:
Don't have it here, sorry. i386, 4.0-RELEASE GENERIC should be it
Crashes also my own kernel builds.
>Description:
kernel panic when trying to copy large files via NFS

error message "no memory for tx list" is triggered just before the kernel
crashes

the error message printf-ed in if_rl.c, function rl_encap().
>How-To-Repeat:
I could crash my system in 5 of 5 cases by copying the XFree86 
package over NFS (ca. 40 MB).

My output of dmesg is in 
http://www.informatik.tu-muenchen.de/~haering/rl_patch.tar.gz


>Fix:
apply the patch from 
http://www.informatik.tu-muenchen.de/~haering/rl_patch.tar.gz
which checks the return value of rl_encap() instead of cheerfully 
ignoring the error ;-) This was a quick hack last night, and *not* a
patch to really get rid of the bug(s) in the driver.

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->wpaul 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Wed Mar 29 02:06:10 PST 2000 
Responsible-Changed-Why:  
Cool, a network driver PR with a patch!  Bill, this one's yours. 

State-Changed-From-To: open->closed 
State-Changed-By: wpaul 
State-Changed-When: Wed Mar 29 12:09:40 PST 2000 
State-Changed-Why:  

I applied a fix of my own in the same vein as your patch (to both -current 
and 4.0-STABLE). There's not much the driver can do if it can't get an mbuf 
for transmission except wait until more mbufs become available. If this 
is happening on a GENERIC kernel, you can try increasing NMBCLUSTERS. 

-Bill 
>Unformatted:
