From nobody@FreeBSD.ORG  Wed Sep 13 06:30:52 2000
Return-Path: <nobody@FreeBSD.ORG>
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 0869937B422; Wed, 13 Sep 2000 06:30:51 -0700 (PDT)
Message-Id: <20000913133051.0869937B422@hub.freebsd.org>
Date: Wed, 13 Sep 2000 06:30:51 -0700 (PDT)
From: mb@imp.ch
Sender: nobody@FreeBSD.ORG
To: freebsd-gnats-submit@FreeBSD.org
Subject: NIS problem - ypbind does loop in CLNT_BROADCAST
X-Send-Pr-Version: www-1.0

>Number:         21251
>Category:       bin
>Synopsis:       NIS problem - ypbind does loop in CLNT_BROADCAST
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 13 06:40:00 PDT 2000
>Closed-Date:    Sun Jun 30 16:55:21 PDT 2002
>Last-Modified:  Sun Jun 30 16:55:21 PDT 2002
>Originator:     Martin Blapp
>Release:        4.1 RELEASE
>Organization:
Improware AG
>Environment:
NIS Client: FreeBSD 4.1
NIS Master: IRIX 6.5.8
>Description:
Ypbind does loose the NIS domain after some time, then it tries to
retrieve it again with a broadcast network request, but this fails.

Some output of a patched ypbind with debugging information:

./ypbind
Do the broadcast
CLNT_BROADCAST
Cannot send broadcast packet: No buffer space available

and thousands of other requests ...

Because ypbind forks to do the broadcast, it generates a
huge network load. Every other host in the network has to
process the rpc requests and this generates and this eats
30-50% CPU time !

Sep 11 12:40:21 levais last message repeated 302468 times
Sep 11 12:50:23 levais last message repeated 302454 times
Sep 11 13:00:24 levais last message repeated 302707 times 

Here you see how many broadcasts ypbind does, this is very
fatal for the network !

The rpc-requests are done as I can see with tcp-dump, but
CLNT_BROADCAST() does always report an error. So something
must go wrong.

14:20:35.703958 NIS-client.2386 > NIS-server.sunrpc:  udp 136
14:20:35.713419 NIS-server.30693 > NIS-client.2291:  udp 36

A interpreted packet dump is on http://www.attic.ch/debug/ypbind.out

It seems that the response from the PRC-Server does go to the wrong
port. Is that correct ?

Has anybody seen a similar problem with ypbind(8) ?
>How-To-Repeat:
Just use NIS and wait, it happens suddently. The load of the
machine will grow then so you cannot work anymore. Sometime it
happens sudenly, sometimes it works 2-3 days. At the moment I can
reproduce the problem.
>Fix:
Not yet known

If you need to have access to my workstation to debug the problem,
just ask me.

>Release-Note:
>Audit-Trail:

From: Stefan Schmidt <Stefan.Schmidt@exolution.de>
To: freebsd-gnats-submit@FreeBSD.org
Cc: mb@imp.ch
Subject: Re: bin/21251: NIS problem - ypbind does loop in CLNT_BROADCAST
Date: Wed, 15 Nov 2000 21:08:28 +0100 (CET)

 Hi,
 
 the same problem surfaces at our site between a 
 FreeBSD 4-STABLE (from about 13th Nov 2000) box 
 (NIS client) and a (SuSE) Linux server (NIS master). 
 
 I worked around the broadcast floods by specifying *both*
 flags -S and -m to ypbind (check the man page for details).
 This will avoid the (possibly faulty) broadcast code in 
 ypbind.c.
 
 stefan
 
 
State-Changed-From-To: open->closed 
State-Changed-By: iedowse 
State-Changed-When: Sun Jun 30 16:54:01 PDT 2002 
State-Changed-Why:  
Fixed in -STABLE by pmap_rmt.c revision 1.16.2.1, and the bug is 
not present in -CURRENT. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=21251 
>Unformatted:
