*BSD News Article 7630


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.hawaii.edu!ames!sun-barr!decwrl!csus.edu!netcom.com!alm
From: alm@netcom.com (Andrew Moore)
Subject: Re: NFS problems with 386bsd (pl58+)
Message-ID: <1992Nov9.233604.4360@netcom.com>
Keywords: NFS 386BSD SVR4
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
References: <1992Nov9.193850.14331@lgc.com>
Date: Mon, 9 Nov 1992 23:36:04 GMT
Lines: 77

In article <1992Nov9.193850.14331@lgc.com> danson@lgc.com (Doug Anson) writes:
>Hi:
>
>I have a small two node network where one machine is running 386bsd and the
>other is running SVR4.0.3.6. I have been NFS mounting a partition from the
>386bsd machine to the SVR4.0.3.6 machine. With this mount, I have tried compiling a large application (i.e. gcc.2.3.1) for use in the SVR4 environment.
>However, I have run into what looks like a memory leak in 386bsd within the
>NFS (or wd8003) subsystem. 
>
>Basically, what happens is that the NFS mount works fine when the NFS traffic
>is fairly light. However, during heavy NFS I/O, I'll sometimes panic the
>386bsd kernel. The panic complains:
>                          kmem_malloc: kmem_map too small
>

This may help... (another posting to 4bsd.bugs included a patch which
doesn't apply to 386BSD).
-AM

From: julian@tfs.com (Julian Elischer)
Subject: IMPORTANT PATCH!
Message-ID: <1992Nov3.071934.25466@tfs.com>
Organization: Trw Financial Systems
Date: Tue, 3 Nov 1992 07:19:34 GMT
Lines: 49


The following patch fixes a randomly initialised variable in the icmp
and raw socket code that can cause 'ping' and 'traceroute'
to never fully close their socket's internal structures
leading to a geometrically increasing number of lost mbufs until
the system runs out of appropriate virtual space, at which
time the system panics with a 'kmem_alloc: map too small' 
and halts.

EVERY time you run ping and traceroute you make the problem
worse
The 'rights' entry should not be there.

julian
+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 2118 Milvia st. Berkeley CA. \___   ___ | country !
+- X_.---._/  USA+(510) 704-3137(wk)           \_/   \\
	  v




*** netinet/raw_ip.c.orig	Mon Nov  2 23:09:51 1992
--- netinet/raw_ip.c	Mon Nov  2 23:10:30 1992
***************
*** 189,198 ****
  }
  
  /*ARGSUSED*/
! rip_usrreq(so, req, m, nam, rights, control)
  	register struct socket *so;
  	int req;
! 	struct mbuf *m, *nam, *rights, *control;
  {
  	register int error = 0;
  	register struct raw_inpcb *rp = sotorawinpcb(so);
--- 189,198 ----
  }
  
  /*ARGSUSED*/
! rip_usrreq(so, req, m, nam, control)
  	register struct socket *so;
  	int req;
! 	struct mbuf *m, *nam, *control;
  {
  	register int error = 0;
  	register struct raw_inpcb *rp = sotorawinpcb(so);