Bug 55229

Summary: ypbind hangs if any hostname in /etc/yp.conf is unknown
Product: [Retired] Red Hat Linux Reporter: Need Real Name <eric.hagberg>
Component: ypbindAssignee: Alexander Larsson <alexl>
Status: CLOSED DUPLICATE QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-03-19 15:46:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-10-27 20:06:49 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)

Description of problem:
If any of the hosts listed in the /etc/yp.conf file are not known, ypbind 
will hang.

In our particular example, the yp.conf has many lines of the form "domain 
NISDOMAIN server HOSTNAME." In fact, if any of those "HOSTNAME" entries 
aren't found through dns lookups (gethostbyname), ypbind will hang.

An "strace -o $file -f -s 256 ypbind" shows this at the end of the file, 
after waiting a _long_ time and then hitting Cntrl-C:

21041 write(4, "\2\0\0\0\4\0\0\0\16\0\0\0", 12) = 12
21041 write(4, "pisvm2.ms.com\0", 14)   = 14
21041 read(4, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377
\377\
0\0\0\0\1\0\0\0", 32) = 32
21041 close(4)                          = 0
21041 open("/usr/share/locale/en_US/LC_MESSAGES/ypbind-mt.mo", O_RDONLY) 
= -1 EN
OENT (No such file or directory)
21041 open("/usr/share/locale/en/LC_MESSAGES/ypbind-mt.mo", O_RDONLY) = -1 
ENOEN
T (No such file or directory)
21041 brk(0x8056000)                    = 0x8056000
21041 time([1004212306])                = 1004212306
21041 open("/etc/localtime", O_RDONLY)  = 4
21041 fstat64(4, {st_mode=S_IFREG|0644, st_size=817, ...}) = 0
21041 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -
1, 0)
= 0x40025000
21041 read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0
\0\0\
0\0\0\224\0\0\0\3\0\0\0\f\236\246\36p\237\272\353`\240\206\0p\241\232
\315`\313\2
10\360p\322`\373\340\372\370X\360\373\350;\340\374\330:\360\375\310\35\340
\376\2
70\34\360\377\247\377\340\0\227\376\360\1\207\341\340\2w\340\360
\3p\376`\4`\375p
\5P\340`\6@\337p\0070\302`\7\215\31p\t\20\244`\t\255\224\360\n\360
\206`\v\340\20
5p\f\331\242\340\r\300gp\16\271\204\340\17\251\203\360\20\231f\340\21
\211e\360\2
2yH\340\23iG\360\24Y*\340\25I)\360\026"..., 4096) = 817
21041 close(4)
21041 munmap(0x40025000, 4096)          = 0
21041 rt_sigaction(SIGPIPE, {0x400318c0, [], 0x4000000}, {SIG_DFL}, 8) = 0
21041 socket(PF_UNIX, SOCK_DGRAM, 0)    = 4
21041 fcntl64(0x4, 0x2, 0x1, 0x2)       = 0
21041 connect(4, {sin_family=AF_UNIX, path="/dev/log"}, 16) = 0
21041 send(4, "<11>Oct 27 15:51:46 ypbind: Unknown host: pisvm2.ms.com", 
55, 0)
= 55
21041 rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
21041 rt_sigprocmask(SIG_SETMASK, NULL, [32], 8) = 0
21041 rt_sigsuspend([] <unfinished ...>
21041 --- SIGINT (Interrupt) ---
21041 +++ killed by SIGINT +++


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. take a working yp.conf file and replace a known with an unknown host 
2. stop ypbind
3. start ypbind
	

Actual Results:  ypbind hangs

Expected Results:  ypbind should discard hosts that are not known and use 
as many valid hosts as it can find, up to the maximum as defined in the 
source code.

Additional info:

Comment 1 Alexander Larsson 2002-03-21 15:57:33 UTC

*** This bug has been marked as a duplicate of 56322 ***