Subject: bin/3516: ypbind and rcp.yppasswdd do not always connect to server
To: None <gnats-bugs@gnats.netbsd.org>
From: Dave Burgess <burgess@cynjut.neonramp.com>
List: netbsd-bugs
Date: 04/18/1997 21:35:51
>Number: 3516
>Category: bin
>Synopsis: ypbind and rcp.yppasswdd do not always connect to server
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people (Utility Bug People)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Fri Apr 18 19:50:01 1997
>Last-Modified:
>Originator: Dave Burgess
>Organization:
Dave Burgess (The man of a thousand E-Mail addresses)
>Release: 5 Apr 97
>Environment:
System: NetBSD cynjut.neonramp.com 1.2D NetBSD 1.2D (CYNJUT) #2:
Sat Apr 5 20:42:17 CST 1997
burgess@cynjut.neonramp.com:/usr/src/local/-current/src/sys/arch/i386/compile/CYNJUT i386
>Description:
Sometimes, when starting up a server which is the ypserver, the ypbind
and rpc.yppasswdd do not successfully connect to the local ypserv.
>How-To-Repeat:
It isn't a consistent problem; if the ypbind or rpc.yhppasswdd cannot
communicate with the server, they simply do not work. If they are
non-responsive, killing the instance of the programs and restarting them
allows them to operate flawlessly until the next reboot. Note that the
ypbind program will stop allowing the /etc/rc job to continue; an
indication that a server was found (otherwise the boot process would
hang waiting for the ypbind to find a host). The problem is that the
ypbind program cannot find the active (or perhaps correct) ypserver.
>Fix:
If the startup code pauses until the ypserver is fully started, the
problem is avoided. In the /etc/rc file, I use the following to start
the services now:
if [ "X$ypbind_flags" != XNO ]; then
echo -n ' ypbind'; ( sleep 5 ; ypbind $ypbind_flags ) &
fi
if [ "X$yppasswdd_flags" != XNO ]; then
echo -n ' rpc.yppasswdd'; (sleep 7 ; rpc.yppasswdd $yppasswdd_flags ) &
fi
By postponing the ypbind start until after the ypserver has had a chance
to come up completely, the problem is avoided. The reason for the sleep
7 is to avoid possible conflicts (however unfounded the fear) that the
yppasswdd and the ypbind might be causing a conflict through some
interaction. Sleep 3 and 4 respectively might be enough to avoid the
problem.
>Audit-Trail:
>Unformatted: