[Samba] On Debian 12: nsupdate (as called from samba_dnsupdate) crashes named/bind9_dlz

Rowland Penny rpenny at samba.org
Sat May 20 08:43:43 UTC 2023



On 20/05/2023 04:44, Steven Monai via samba wrote:
> Thanks. With this new info,

It isn't new, it is in the wiki.

> I re-ran my test setup from the beginning: 
> destroyed and reprovisioned the VMs dc33 and dc34 running Debian 12; 
> provisioned a new AD domain on dc33 with 'samba-tool domain provision 
> DC'; and then joined dc34 as a DC with 'samba-tool domain join DC'.
> 
> Once again, the new domain on dc33 seems to be correct and functional. 
> However, once again, the necessary DNS records are not created for dc34 
> when it joins the domain.

When you provision a domain, most, if not all, of the required dns 
records are created. When you join another DC, only a few are created, 
the rest are created by samba_dnsupdate when Samba first starts, or that 
is how it is supposed to work.

> It seems samba_dnsudpate still does not work, 
> even with the updated name resolver config.

Problem is, it works for myself, I am still on bullseye, using Samba 
from backports, so have the same Samba version as you 4.17.8 . What is 
different is the version of nsupdate, mine comes from bind9-dnsutils 
9.16.37, yours is probably from 9.18.12

> 
> Here is an abbreviated snippet of the output from the command line on 
> dc34, after the domain join:
> ------------------------------------------------------------------------
> dc34:~# samba_dnsupdate --verbose
> IPs: ['10.150.10.34']
> ...
> 22 DNS updates and 0 DNS deletes needed
> Successfully obtained Kerberos ticket to DNS/dc34.ttwo.ad.example.org as 
> DC34$
> update(nsupdate): NS ttwo.ad.example.org dc34.ttwo.ad.example.org
> Calling nsupdate for NS ttwo.ad.example.org dc34.ttwo.ad.example.org (add)
> Successfully obtained Kerberos ticket to DNS/dc34.ttwo.ad.example.org as 
> DC34$
> Outgoing update query:
> ;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
> ;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
> ;; UPDATE SECTION:
> ttwo.ad.example.org.     900     IN      NS      dc34.ttwo.ad.example.org.
> 
> ; Communication with 10.150.10.34#53 failed: end of file
> Failed nsupdate: 2
> ...
> (...similar failure of all successive zone update attempts...)
> ...
> Failed update of 22 entries
> ------------------------------------------------------------------------
> 
> And here is a snippet of the resulting log from the named server that is 
> contacted (this time on dc34, not dc33):
> ------------------------------------------------------------------------
> dc34:~# journalctl -u named.service
> ...
> May 19 10:18:30 dc34 named[4308]: samba_dlz: allowing update of 
> signer=DC34\$\@TTWO.AD.example.org name=ttwo.ad.example.org 
> tcpaddr=10.150.10.34 type=NS 
> key=1542098645.sig-dc34.ttwo.ad.example.org/159/0
> May 19 10:18:30 dc34 named[4308]: samba_dlz: starting transaction on 
> zone ttwo.ad.example.org
> May 19 10:18:30 dc34 named[4308]: client @0x7f272bffe368 
> 10.150.10.34#39821/key DC34\$\@TTWO.AD.example.org: updating zone 
> 'ttwo.ad.example.org/NONE': adding an RR at 'ttwo.ad.example.org' NS 
> dc34.ttwo.ad.example.org.
> May 19 10:18:30 dc34 named[4308]: name.c:664: REQUIRE(((name1) != ((void 
> *)0) && ((const isc__magic_t *)(name1))->magic == ((('D') << 24 | ('N') 
> << 16 | ('S') << 8 | ('n'))))) failed, back trace
> May 19 10:18:30 dc34 named[4308]: /usr/sbin/named(+0x235e4) 
> [0x556e2d6cf5e4]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(isc_assertion_failed+0xa) [0x7f2735239a5a]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libdns-9.18.12-1-Debian.so(dns_name_equal+0x179) 
> [0x7f2734e999d9]
> May 19 10:18:30 dc34 named[4308]: 
> /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_18.so(dlz_addrdataset+0x1c4) [0x7f2733a8cb54]
> May 19 10:18:30 dc34 named[4308]: /usr/sbin/named(+0x212e4) 
> [0x556e2d6cd2e4]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libdns-9.18.12-1-Debian.so(+0x12e4c4) 
> [0x7f2734f2e4c4]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libdns-9.18.12-1-Debian.so(+0x4ec17) [0x7f2734e4ec17]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libns-9.18.12-1-Debian.so(+0x31dca) [0x7f27357f6dca]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libns-9.18.12-1-Debian.so(+0x35466) [0x7f27357fa466]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(isc_task_run+0x113) 
> [0x7f2735258a43]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(+0x26cb2) [0x7f2735226cb2]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(+0x27337) [0x7f2735227337]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(+0x27e73) [0x7f2735227e73]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libuv.so.1(+0xf09d) [0x7f273516d09d]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libuv.so.1(+0x22e3c) [0x7f2735180e3c]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libuv.so.1(uv_run+0xc4) [0x7f273516d9e4]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(+0x27654) [0x7f2735227654]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libisc-9.18.12-1-Debian.so(isc__trampoline_run+0x15) [0x7f2735261575]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libc.so.6(+0x88fd4) [0x7f27344fbfd4]
> May 19 10:18:30 dc34 named[4308]: 
> /lib/x86_64-linux-gnu/libc.so.6(+0x1095bc) [0x7f273457c5bc]
> May 19 10:18:30 dc34 named[4308]: exiting (due to assertion failure)
> May 19 10:18:30 dc34 systemd[1]: named.service: Main process exited, 
> code=dumped, status=6/ABRT
> May 19 10:18:30 dc34 systemd[1]: named.service: Failed with result 
> 'core-dump'.
> May 19 10:18:30 dc34 systemd[1]: named.service: Scheduled restart job, 
> restart counter is at 1.
> May 19 10:18:30 dc34 systemd[1]: Stopped named.service - BIND Domain 
> Name Server.
> May 19 10:18:30 dc34 systemd[1]: Starting named.service - BIND Domain 
> Name Server...
> May 19 10:18:30 dc34 named[4319]: starting BIND 9.18.12-1-Debian 
> (Extended Support Version) <id:>
> May 19 10:18:30 dc34 named[4319]: running on Linux x86_64 6.1.0-9-amd64 
> #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08)
> ...
> (...repeat assertion-failure/core-dump/daemon-restart for every nsupdate 
> attempt...)
> ...
> ------------------------------------------------------------------------
> 
> The immediate cause of the crashes is clearly the assertion-failure 
> reported in the log.

Yes, it also looks like it is named that is crashing, not Samba.

> 
> I found an open bug in bugzilla that reports a very similar assertion 
> failure: "Bug 14030 - named crashes on DLZ zone update" 
> (https://bugzilla.samba.org/show_bug.cgi?id=14030). Any chance this Bug 
> is related to what I'm seeing?

That appears to be a Samba problem, whilst yours appears to possibly be 
a Bind9 problem.

Are you running Bind9 as the dns server ?
If so, please post the following files (inline, do not attach them, this 
list strips attachments):

/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/bind/named.conf.default-zones
/etc/samba/smb.conf

Rowland



More information about the samba mailing list