Bug 27457

Summary: yppush fails when updating two or more slaves
Product: Base System Reporter: Andre Albsmeier <Andre.Albsmeier>
Component: binAssignee: John Polstra <jdp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Andre Albsmeier 2001-05-19 18:50:01 UTC
When updating the NIS databases on the slaves by running yppush
in /var/yp on the server, the clients get updated properly. However,
the calling yppush hangs:

root@server:/var/yp>yppush -vv -h spoolfix -h printfix amd.host 
yppush: initiating transfer: amd.host -> pr (transid = 990293135)
yppush: pr has been called
yppush: checking return status: transaction ID: 990293135
yppush: transfer of map amd.host to server pr failed
yppush: status returned by ypxfr: Master's version not newer
yppush: initiating transfer: amd.host -> spoolfix (transid = 990293136)
yppush: spoolfix has been called
yppush: all jobs dispatched
yppush: spoolfix has not responded
yppush: pr has responded
yppush: 1 transfer still pending

[wait 1 to 2 minutes here]

yppush: timed out
yppush: warning: exiting with transfer to spoolfix (transid = 990293136) still pending


In the logfile of one client we see:
May 19 19:25:43 <daemon.notice> spoolfix ypxfr[4428]: callback failed: RPC: Timed out
May 19 19:26:15 <daemon.notice> spoolfix ypxfr[4429]: callback failed: RPC: Timed out

It seems that somehow the callback of the second slave doesn't
make it through to the server.

The problem already appeared as described in PR# 12496. It then
went away until the recent changes to libexec/rtld-elf/rtld.c
made appear it again.

Fix: The following patch is no fix. It circumvents the problem but
I can't explain why :-)
How-To-Repeat: 
Use the newest FreeBSD 4.3-STABLE sources. Put two slave servers into
ypservers. Run yppush as above (with any map).
Comment 1 John Polstra freebsd_committer freebsd_triage 2001-06-06 22:22:49 UTC
State Changed
From-To: open->feedback

I think this should be fixed by revision 1.13 of 
src/usr.sbin/yppush/yppush_main.c.  Once I get confirmation of that 
and have merged the fix to -stable, I will close this PR. 


Comment 2 John Polstra freebsd_committer freebsd_triage 2001-06-06 22:22:49 UTC
Responsible Changed
From-To: freebsd-bugs->jdp

I am working on this problem now.  (Duh.)
Comment 3 John Polstra freebsd_committer freebsd_triage 2001-06-07 05:58:59 UTC
State Changed
From-To: feedback->closed

Fixed in src/usr.sbin/yppush/yppush_main.c: 

1.13		-current 
1.11.2.1	-stable