From owner-freebsd-bugs Wed Jun 4 19:10:02 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id TAA27511 for bugs-outgoing; Wed, 4 Jun 1997 19:10:02 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id TAA27502; Wed, 4 Jun 1997 19:10:01 -0700 (PDT) Date: Wed, 4 Jun 1997 19:10:01 -0700 (PDT) Message-Id: <199706050210.TAA27502@hub.freebsd.org> To: freebsd-bugs Cc: From: "Jin Guojun[ITG]" Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function Reply-To: "Jin Guojun[ITG]" Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk The following reply was made to PR bin/3778; it has been noted by GNATS. From: "Jin Guojun[ITG]" To: wpaul@skynet.ctr.columbia.edu Cc: freebsd-gnats-submit@FreeBSD.ORG, jin@iss-p1.lbl.gov Subject: Re: bin/3778: ypbind -S domainname,server1,... does not function Date: Wed, 4 Jun 1997 19:01:56 -0700 > > The only way to ypbind do what you want it to do is to download the > > ypbind source code from FreeBSD-current and compile that on your 2.2 > > system. (It should compile without any problem.) Once you have that, > > use the following: > > > > # ypbind -m -S domain,server1,server2,server3,server4,... > > > > The -m flag is new: it tells ypbind to use a 'many-cast' instead of > > a broadcast. This will allow it to bind to any of the servers even > > if they are on remote subnets. > > It works, but ypwhich kills it. That is, I cannot use ypwhich to fin out > which ypserver is currently using. > > The ypbind is killed a couple of seconds after ypwhich command issued. - Exactly what FreeBSD release are you running. - Exactly what arguments do you use when invoking ypbind. # uname -a FreeBSD fudd.lbl.gov 2.1.7.1-RELEASE FreeBSD 2.1.7.1-RELEASE #0: Thu May 29 02:29:22 PDT 1997 root@iss-p6.lbl.gov:/usr/src/sys/compile/MinMax i386 # ypbind -m -S itg,george,pesto # ypwhich can't clnt_call: Can't communicate with ypbind # cd / # gdb -q ypbind /ypbind.core Core was generated by `ypbind'. Program terminated with signal 11, Segmentation fault. #0 0x8055bd4 in end () (gdb) where #0 0x8055bd4 in end () #1 0xefbfcc94 in end () #2 0x19a8 in ypbindprog_2 (rqstp=0xefbfd190, transp=0xf000) at ypbind.c:343 #3 0x803c0ba in end () #4 0x2046 in main (argc=4, argv=0xefbfda2c) at ypbind.c:517 (gdb) up 4 #4 0x2046 in main (argc=4, argv=0xefbfda2c) at ypbind.c:517 517 svc_getreqset(&fdsr); (gdb) l 512 handle_children(ypdb); 513 if (children == (MAX_CHILDREN - 1)) 514 checkwork(); 515 } 516 } 517 svc_getreqset(&fdsr); 518 break; 519 } 520 } 521 (gdb) p fdsr $1 = {fds_bits = {0, 0, 0, 0, 0, 0, 0, 0}} (gdb) down #3 0x803c0ba in end () (gdb) l 522 /* NOTREACHED */ 523 exit(1); 524 } 525 526 void 527 checkwork() 528 { 529 struct _dom_binding *ypdb; 530 531 for(ypdb=ypbindlist; ypdb; ypdb=ypdb->dom_pnext) (gdb) down #2 0x19a8 in ypbindprog_2 (rqstp=0xefbfd190, transp=0xf000) at ypbind.c:343 343 result = (*local)(transp, &argument, rqstp); (gdb) p local $2 = (char *(*)()) 0x16a0 (gdb) down #1 0xefbfcc94 in end () (gdb) l 338 bzero((char *)&argument, sizeof(argument)); 339 if (!svc_getargs(transp, xdr_argument, (caddr_t)&argument)) { 340 svcerr_decode(transp); 341 return; 342 } 343 result = (*local)(transp, &argument, rqstp); 344 if (result != NULL && !svc_sendreply(transp, xdr_result, result)) { 345 svcerr_systemerr(transp); 346 } 347 return; -------------- Auctually, it is not just killed by ypwhich. It will die even the machine is rebooted and kept idel (no one touch it) for a while. -Jin