Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Mar 1999 21:07:00 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        toasty@home.dragondata.com (Kevin Day)
Cc:        freebsd-bugs@freebsd.org
Subject:   Re: bin/6234
Message-ID:  <199903070207.VAA10160@skynet.ctr.columbia.edu>
In-Reply-To: <199903070124.TAA22313@home.dragondata.com> from "Kevin Day" at Mar 6, 99 07:24:20 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Kevin Day had 
to walk into mine and say:
 
> Ok, well, I'm not using NIS anymore, but i set it up again as a test just to
> try this.
> 
> Running with 'ypserv' alone works fine. the client is able to ypcat, etc...
> 
> su-2.02# ypcat -t test
> ypcat: no such map test. reason: No such map in server's domain

No no no. Saying 'ypcat, etc...' implies: "I tried ypcat, ypmatch,
yppoll and other commands" however I can't be sure that you actually
did this. Ypcat and ypmatch don't work the same way. They excercise
different server procedures and trying more than one command and
observing the results gives valuable clues as to what, if anything,
is going on.
 
> Running with 'ypserv -d', the client complains that the server isn't
> responding.

You skipped a whole step here. After you run ypserv -d, the client
needs to rebind. Either ypbind is already running, times out, and
broadcasts again, or else you force it with ypset. Either way, ypserv -d
should produce some output (probably from the ypproc_domain_nonack
procedure). But you didn't say whether you noticed any such output
or not. It's important that I know; if you actually see this, then
your statement that 'it just sits there and never produces any
output' is wrong.

> ypcat on the client won't work, displaying something like this:
> 
> su-2.02# ypcat -t test
> yp_next: clnt_call: RPC: Success
[...]

Again, you have to test something _besides_ ypcat. There are plenty
of other commands waiting for you to experiment with them.

 
> It shows it just stuck in 'select', and not doing anything. I get nothing
> printed to the screen when I ypcat, nor any other NIS related activity.

ypserv always waits in select() for new connections. I still don't believe
you when you say ypserv -d never prints anything. I want you to do the
following:

- Make sure ypbind on the client is _NOT_ running.
- Make sure there is no other ypserv running on the master, then
  run ypserv -d.
- Run ypbind on the client. NOTE: don't run ypbind with some special
  combination of flags that you think is appropriate. When I say
  'run ypbind' I mean 'run ypbind.' Don't do other things and then
  forget to tell me later.
- The ypserv process should generate output to the effect that it
  received a request to the ypproc_domain_nonack procedure. If it
  does this, then your statement that ypserv -d doesn't generate
  any output at all is incorrect. If you do see any output, share
  it with us.
- Run ypmatch foo bar.
- Look at ypserv again. If there is output, share it with us.
- Run ypcat bar.
- Look at ypserv again. If there is output, share it with us.
 
> I don't have time tonight to gdb or ktrace this, to see what it's doing, but
> I can experiment more on my test network on Monday. 

*sigh* It takes five minutes to download the source to ypserv, compile
it and run gdb on it. It's not a major undertaking. If you had the time
to try the other things, why not this.
 
> And to answer your questions.... Yes, I made sure to kill the old ypserv. I
> waited 15 minutes this time to allow the client to bind to the new instance.

And how did you determine that the client had in fact rebound to the server.
Did you run ypwhich on the client? If you never actually saw anything, 
then the client didn't actually rebind. How are you running ypbind on the 
client? What is the client running?

> I'm aware that ypserv -d doesn't print anything until a client does
> something. I tried killing/restarting ypbind, too.

Again, did you actually verify that the client rebound to the server?
Did you run tcpdump and actually see ypbind communicate with the server
in any way? If the client actually rebound to the server, ypserv -d
would have printed something.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903070207.VAA10160>