Date: Tue, 11 Jan 2011 11:10:10 GMT From: Sergey Kandaurov <pluknet@gmail.com> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/152525: ntpd(8) on 8.1 loops on select() with EBADF Message-ID: <201101111110.p0BBAAmw049855@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/152525; it has been noted by GNATS.
From: Sergey Kandaurov <pluknet@gmail.com>
To: bug-followup@FreeBSD.org, pluknet@gmail.com
Cc:
Subject: Re: bin/152525: ntpd(8) on 8.1 loops on select() with EBADF
Date: Tue, 11 Jan 2011 14:03:29 +0300
Some more details and investigations.
This situation reproduces iff there are over 1000 IP assigned on interface.
I suspect select() behaves incorrectly on such fd_set size of listen sockets.
[unmodified ntpd as in 8]# sockstat | grep ntpd | grep '\:123' | wc -l
999
[unmodified ntpd as in 8]# top -bI | grep ntpd
1478 root 1 113 0 11736K 3428K CPU3 3 429.7H 75.78% ntpd
The possible correction is in updating ntpd to the latest stable ntpd
version that supports listening on a specified subset of sockets.
So I've updated ntpd to 4.2.6p2 on one of the problem boxes,
and that reduced the number of listened sockets to 6.
[ntpd 4.2.6]# sockstat | grep ntpd | grep '\:123' | wc -l
6
That seems to fix the reported issue.
--
wbr,
pluknet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101111110.p0BBAAmw049855>
