<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Op 04-01-2025 om 17:10 schreef Otto Retter via nsd-users:</p>
<blockquote type="cite"
cite="mid:428e6734-c8dd-48cc-accf-db3a207ae9b0@relax.theregoesmy.email">Hi
all,
<br>
<br>
I'm running NSD 4.9.1 on OpenBSD 7.6. I recently upgraded from
OpenBSD 7.5, which I believe had NSD 4.8.0 in base, and did not
see this behavior prior.
<br>
</blockquote>
Thanks Otto,<br>
<p>Indeed, NSD 4.8.0 did not log this condition as an error message
and just proceeded if the old-main would quit.</p>
<p>With 4.9.0 reloading was refactored to reap exited old serve
childs in order to reduce the number of "defunct" or "zombie"
processes that can emerge (for example when one old-serve child is
still busy, for example serving an AXFR or so).</p>
<p>When old-main is done with is job during reload (killing the old
serve children), it informs the reload process and then
immediately exists. The detection of the closed pipe (because of
exited old-main) could very well become before the information
that old-main is done on that pipe on some platforms.</p>
<p>So I consider this "reporting of an exited old-main" at this
point in the code a bug, and changed it into a debugging warning
level message here: <a class="moz-txt-link-freetext" href="https://github.com/NLnetLabs/nsd/pull/421">https://github.com/NLnetLabs/nsd/pull/421</a></p>
<p>Thanks!</p>
<p>-- Willem<br>
</p>
<p>PS. For completeness a strip of a successful NSD reload below.
Your issue would occur if old-main(5) would exit before the
load(2) process received the NSD_RELOAD in picture 6.<img
moz-do-not-send="false"
src="cid:part1.uf0L69fa.Bw3H0N0w@nlnetlabs.nl"
alt="NSD successful reload"></p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:428e6734-c8dd-48cc-accf-db3a207ae9b0@relax.theregoesmy.email">
<br>
When I try to reload a zone using nsd-control, I am seeing an
error message in my logfile: "error: reload: old-main quit during
quit sync"
<br>
<br>
This error does not appear to happen every time I run reload, but
it does get recorded to the logfile "more often than not" after a
reload. When it does happen, it appears that the zone still
successfully reloads. The error can show up when I reload any of
my zones, and it does not appear to matter if I modified the zone.
I cranked up verbosity to "3" but did not get much more detail.
Below example is for my testing zone:
<br>
</blockquote>
<br>
<blockquote type="cite"
cite="mid:428e6734-c8dd-48cc-accf-db3a207ae9b0@relax.theregoesmy.email">
<br>
'''
<br>
$ nsd-control reload testing.internal
<br>
ok
<br>
$ echo $?
<br>
0
<br>
'''
<br>
<br>
and the relevant entries in nsd.log:
<br>
'''
<br>
[2025-01-04 14:55:30.652] nsd[69351]: info: new control connection
from 127.0.0.1
<br>
[2025-01-04 14:55:30.711] nsd[69351]: info: remote control
connection authenticated
<br>
[2025-01-04 14:55:30.711] nsd[69351]: info: control cmd: reload
testing.internal
<br>
[2025-01-04 14:55:30.712] nsd[69351]: info: remote control
operation completed
<br>
[2025-01-04 14:55:30.713] nsd[40839]: info: zonefile
testing.internal.forward is not modified
<br>
[2025-01-04 14:55:30.723] nsd[40839]: error: reload: old-main quit
during quit sync
<br>
'''
<br>
<br>
relevant snippets from nsd.conf:
<br>
'''
<br>
server:
<br>
server-count: 1
<br>
verbosity: 3
<br>
zonesdir: "/var/nsd/etc/zones/"
<br>
logfile: "/var/log/nsd.log"
<br>
zonefiles-write: 60
<br>
zone:
<br>
name: "testing.internal"
<br>
zonefile: "testing.internal.forward"
<br>
'''
<br>
<br>
Anyone else seeing similar behavior or can tell me if I'm doing
something wrong? Happy to compile latest or follow other suggested
troubleshooting steps.
<br>
<br>
Thanks,
<br>
Otto
<br>
_______________________________________________
<br>
nsd-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:nsd-users@lists.nlnetlabs.nl">nsd-users@lists.nlnetlabs.nl</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.nlnetlabs.nl/mailman/listinfo/nsd-users">https://lists.nlnetlabs.nl/mailman/listinfo/nsd-users</a>
<br>
</blockquote>
</body>
</html>