Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 605
    • Issues 605
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 88
    • Merge requests 88
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #1968
Closed
Open
Issue created Jun 23, 2020 by Holger Wirtz@HW

Again: BIND | rbtdb.c:2162: INSIST with bind with 9.11.20 (see #1718)

Summary

Same problem as #1718 (closed), but this time after several hours on two of our three slave servers at the same time:

Sudden crash of the named process.

BIND version used

BIND 9.11.20 (Extended Support Version) <id:f3d1d66>
running on Linux x86_64 3.16.0-10-amd64 #1 SMP Debian 3.16.81-1 (2020-01-17)
built by make with '--prefix=/usr' '--mandir=/usr/share/man' '--libdir=/usr/lib/x86_64-linux-gnu' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--enable-ipv6' '--enable-filter-aaaa' '--with-make-clean'
compiled by GCC 4.9.2
compiled with OpenSSL version: OpenSSL 1.0.1t  3 May 2016
linked to OpenSSL version: OpenSSL 1.0.1t  3 May 2016
compiled with libxml2 version: 2.9.1
linked to libxml2 version: 20901
compiled with libjson-c version: 0.11.99
linked to libjson-c version: 0.11.99
compiled with zlib version: 1.2.8
linked to zlib version: 1.2.8
threads support is enabled

default paths:
  named configuration:  /etc/bind/named.conf
  rndc configuration:   /etc/bind/rndc.conf
  DNSSEC root key:      /etc/bind/bind.keys
  nsupdate session key: //run/named/session.key
  named PID file:       //run/named/named.pid
  named lock file:      //run/named/named.lock

Steps to reproduce

# Created bind as usual:
VERSION=9.11.20
wget -O bind-$(VERSION).tar.gz https://downloads.isc.org/isc/bind9/$(VERSION)/bind-$(VERSION).tar.gz
wget -O bind-$(VERSION).tar.gz.sha512.asc https://downloads.isc.org/isc/bind9/$(VERSION) /bind-$(VERSION).tar.gz.sha512.asc
gpg --verify bind-$(VERSION).tar.gz.sha512.asc bind-$(VERSION).tar.gz
tar -zxf bind-$(VERSION).tar.gz
bind-$(VERSION)
./configure --prefix=/usr \
                --mandir=\$${prefix}/share/man \
                --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
                --infodir=\$${prefix}/share/info \
                --sysconfdir=/etc/bind \
                --with-python=python3 \
                --localstatedir=/ \
                --enable-threads \
                --enable-largefile \
                --with-libtool \
                --enable-shared \
                --enable-static \
                --with-openssl=/usr \
                --with-gssapi=/usr \
                --with-gnu-ld \
                --enable-ipv6 \
                --enable-filter-aaaa
make && make install

What is the current bug behavior?

After several hours, bind crashes with the following message in general.log:

23-Jun-2020 14:25:01.251 general: rbtdb.c:2162: INSIST(((unsigned int)(isc_atomic_xadd(&(&(node)->references)->refs, 0))) == 0 && node->data == ((void *)0)) failed, back trace
23-Jun-2020 14:25:01.251 general: #0 0x43fe6d in ??
23-Jun-2020 14:25:01.251 general: #1 0x7f382e8ffcfa in ??
23-Jun-2020 14:25:01.251 general: #2 0x7f382fbc73ed in ??
23-Jun-2020 14:25:01.251 general: #3 0x7f382fbc776c in ??
23-Jun-2020 14:25:01.251 general: #4 0x7f382e929a17 in ??
23-Jun-2020 14:25:01.251 general: #5 0x7f382daaa064 in ??
23-Jun-2020 14:25:01.251 general: #6 0x7f382d47862d in ??
23-Jun-2020 14:25:01.251 general: exiting (due to assertion failure)

The same (at the same time!) happens on the other dns-slave server:

23-Jun-2020 14:25:01.594 general: rbtdb.c:2162: INSIST(((unsigned int)(isc_atomic_xadd(&(&(node)->references)->refs, 0))) == 0 && node->data == ((void *)0)) failed, back trace
23-Jun-2020 14:25:01.594 general: #0 0x43fe6d in ??
23-Jun-2020 14:25:01.594 general: #1 0x7f19743eacfa in ??
23-Jun-2020 14:25:01.594 general: #2 0x7f19756b23ed in ??
23-Jun-2020 14:25:01.594 general: #3 0x7f19756b276c in ??
23-Jun-2020 14:25:01.594 general: #4 0x7f1974414a17 in ??
23-Jun-2020 14:25:01.594 general: #5 0x7f1973595064 in ??
23-Jun-2020 14:25:01.594 general: #6 0x7f1972f6362d in ??
23-Jun-2020 14:25:01.594 general: exiting (due to assertion failure)

What is the expected correct behavior?

No crash.

Relevant configuration files

named.conf:

include "/etc/bind/named.conf.local"; // only ACLs, logging and statistic channels
include "/etc/bind/named.conf.options"; // look down

include "/etc/bind/bind.keys";

include "/etc/bind/named.conf.namedboot";
include "/etc/bind/tsig.key";

named.options:

options {
        directory "/var/cache/bind";
        pid-file "/var/run/named/named.pid";

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { ::1; ********;  };
        listen-on { 127.0.0.1; *********;  };

        allow-query {  any;  }; 
        allow-transfer {  ******;  };
        recursion no;
        version "0";
        dnssec-enable yes;
        dnssec-validation yes;

        tcp-clients 1500;

        rate-limit {
                responses-per-second 50;
        };
};

controls {
        inet 127.0.0.1 allow { 127.0.0.1; ::1; };
};

Relevant logs and/or screenshots

general.log:

23-Jun-2020 14:25:01.251 general: rbtdb.c:2162: INSIST(((unsigned int)(isc_atomic_xadd(&(&(node)->references)->refs, 0))) == 0 && node->data == ((void *)0)) failed, back trace
23-Jun-2020 14:25:01.251 general: #0 0x43fe6d in ??
23-Jun-2020 14:25:01.251 general: #1 0x7f382e8ffcfa in ??
23-Jun-2020 14:25:01.251 general: #2 0x7f382fbc73ed in ??
23-Jun-2020 14:25:01.251 general: #3 0x7f382fbc776c in ??
23-Jun-2020 14:25:01.251 general: #4 0x7f382e929a17 in ??
23-Jun-2020 14:25:01.251 general: #5 0x7f382daaa064 in ??
23-Jun-2020 14:25:01.251 general: #6 0x7f382d47862d in ??
23-Jun-2020 14:25:01.251 general: exiting (due to assertion failure)

Possible fixes

Assignee
Assign to
Time tracking