Hello,
nsd-4.3.1 acting as secondary for a zone (26 MB, 200k records)
on every (but the first) update one NSD process generate ~10k lines "service remaining TCP connections" and then terminating with $subject
NSD is compile options contain
--enable-pie \
--enable-relro-now \
--enable-recvmmsg \
--enable-root-server \
--enable-checking \
--enable-ratelimit \
--enable-ratelimit-default-is-off \
--enable-packed \
--enable-dnstap \
--disable-tcp-fastopen
NSD run in foreground (nsd -d) and the runtime options contain
server:
confine-to-zone: yes
database: ""
debug-mode: yes
drop-updates: yes
ipv4-edns-size: 1220
ipv6-edns-size: 1220
minimal-responses: yes
outgoing-tcp-mss: 1220
refuse-any: yes
statistics: 86400
tcp-mss: 1220
verbosity: 9
+ zone definitions
an older version 4.2.4 (prior update) had the same issue / logs
an other instance, also 4.3.1, also in secondary mode but a smaller zone (40k, 500 records), don't generate such logs
Andreas
Hello,
are there any further information I should provide?
Andreas
Hi Andreas,
nsd-4.3.1 acting as secondary for a zone (26 MB, 200k records)
on every (but not the first) update one NSD process generate ~10k lines "service remaining TCP connections" and then terminating with $subject
Hello,
are there any further information I should provide?
The line is printed at high verbosity when there are TCP connections
open. It only should print that once for the NSD process (one per
server-count). Not more, so 10k is like impossibly high. Is it
miscompiled, or something else strange is going on. Was it not compiled
cleanly? Can you lower optimization counts on the compiler, perhaps?
Because I see no code path to make 10k printouts of those lines.
The terminate with signal 11 sounds like a segfault, can you make a
stack trace of it? Like with gdb or gstack or valgrind.
Best regards, Wouter
but it happen here. Just on /every/ AXFR after NSD receive a NOTIFY.
I think, it's the AXFR connection itself as no regular client query data over TCP
I just changed "verbosity: 9" to "verbosity: 3" and now the log is not flooded anymore.
this hide these messages:
/usr/src/nsd-4.3.1$ grep -ri 'VERBOSITY(4'
server.c: VERBOSITY(4, (LOG_INFO, "service remaining TCP connections"));
server.c: VERBOSITY(4, (LOG_INFO, "service remaining TCP connections: timed out, quit"));
dnstap/dnstap_collector.c: VERBOSITY(4, (LOG_INFO, "dnstap collector: received msg len %d",
dnstap/dnstap_collector.c: VERBOSITY(4, (LOG_INFO, "dnstap submit auth query"));
dnstap/dnstap_collector.c: VERBOSITY(4, (LOG_INFO, "dnstap submit auth response"));
As there are no other messages with higer VERBOSITY, I an live with that.
But messages "process terminated with status 11" still happen.
I'll try to get a stack trace ...
Andreas