How to print details of dns_name_t* when hitting a gdb breakpoint in dns_name_equal

Kees Bakker keesb at ghs.com
Tue Dec 3 10:36:31 UTC 2024


Hi,

Background
I have a CentOS FreeIPA setup with with multiple named (bind9 9.16.23) 
servers.
On two of my five servers, when I start named it fails a REQUIRE in 
dns_name_equal

     /*
      * Either name1 is absolute and name2 is absolute, or neither is.
      */
     REQUIRE((name1->attributes & DNS_NAMEATTR_ABSOLUTE) ==
         (name2->attributes & DNS_NAMEATTR_ABSOLUTE));

My question: if I run gdb and break in "assertion_failed", then "go up",
how can I print name1 and name2 in a meaningful manner,
so that I can figure out what entries are causing this failure?

Just doing "p *name1" in gdb isn't very helpful for that.

BTW My work around is to keep restarting named until it no longer fails
on that REQUIRE.

Any help is greatly appreciated.
-- Kees


More information about the bind-users mailing list