Please, Urgent: Need ideas/help to solve PR bin/51586

Ian Freislich ianf at za.uu.net
Thu May 8 08:24:11 PDT 2003


Lars =?iso-8859-1?Q?K=F6ller?= wrote:
> > -anf inet |grep -v TIME_WAIT' on machine2 after you get the timeout
> > connecting to machine2?  Is the tcp *.514 LISTEN line missing after
> 
> No, as you can see above. It's possibe to connect from a third machine
> to machine2 during the timeout/hang.

Hmm, I can't seem to reproduce the inetd service termination any
more so that may be a red herring.

> > you get the timeout.  What do you get in your messages file on
> > machine2 (the one running the rsh server)?  I suspect that you're
> 
>  rshd[83865]: connect second port 927: Operation timed out

That is definitely different to what I get, so I guess there is
quite a difference between 4.8-STABLE Sun Apr 27 and 4.8-RELEASE
in the networking code.  I've traced where it fails in the -STABLE
code - line 123 of /usr/src/lib/libc/rpc/bindresvport.c (rev 1.12).
It's a bind with sin_addr=INADDR_ANY and ports in IP_PORTRANGE_LOW.
The kernel "Can't assign requested address" because it probably
thinks none are available they're all in TIME_WAIT.  Not that that
helps you very much.

Perhaps -STABLE is slightly better because you get an immediate
fail when there are "no" ports and it starts working again when
there are.  Also if you set net.inet.tcp.msl=300, the connections
leave TIME_WAIT a lot sooner and where it would die after about 30
seconds, I haven't yet seen had a failure after several minutes.

Ian


More information about the freebsd-questions mailing list