BIND 10 #684: b10-xfrout uses 100% of CPU
BIND 10 Development
do-not-reply at isc.org
Fri Apr 1 11:41:04 UTC 2011
#684: b10-xfrout uses 100% of CPU
--------------------------------------+---------------------------
Reporter: shane | Owner:
Type: defect | Status: new
Priority: critical | Milestone:
Component: xfrout | Resolution:
Keywords: | Sensitive: 0
Estimated Number of Hours: 0.0 | Add Hours to Ticket: 0
Billable?: 1 | Total Hours: 0
Internal?: 0 |
--------------------------------------+---------------------------
Changes (by shane):
* priority: major => critical
Comment:
I had a look at this today, as it is affecting my server. strace on the
offending thread reveals:
{{{
select(14, [10 12 13], [], [], {0, 0}) = 0 (Timeout)
gettimeofday({1301656680, 878097}, NULL) = 0
gettimeofday({1301656680, 878149}, NULL) = 0
gettimeofday({1301656680, 878221}, NULL) = 0
select(14, [10 12 13], [], [], {0, 0}) = 0 (Timeout)
gettimeofday({1301656680, 878369}, NULL) = 0
gettimeofday({1301656680, 878421}, NULL) = 0
.
.
.
}}}
I looked through the code and the only select() call that seems to match
is this one from the notify code:
{{{
(block_timeout, valid_socks, notifying_zones) = \
self._prepare_select_info()
# This is None only during some tests
if self._read_sock is not None:
valid_socks.append(self._read_sock)
try:
r_fds, w, e = select.select(valid_socks, [], [],
block_timeout)
except select.error as err:
if err.args[0] != EINTR:
return {}, {}
}}}
The block_timeout is getting set to 0 for some reason. This may have to do
with errors sending because it is trying to use IPv6 as notify targets.
--
Ticket URL: <https://bind10.isc.org/ticket/684#comment:3>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list