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
  • #2317
Closed
Open
Issue created Nov 30, 2020 by Michael McNally@McNally

rbtdb.c asssertion failure -- REQUIRE(isc_refcount_current(&rbtdb->node_locks[i].references) == 0) failed

Summary

A customer has reported hitting a REQUIRE assertion failure in rbtdb.c

BIND version used

BIND 9.16.8 running on FreeBSD 12.1

Their "named -V" info:

BIND 9.16.8 (Stable Release) <id:539f9f0>
running on FreeBSD amd64 12.1-RELEASE-p10 FreeBSD 12.1-RELEASE-p10 GENERIC
built by make with '--disable-linux-caps' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/namedb' '--with-dlopen=yes' '--with-libxml2' '--with-openssl=/usr' '--with-readline=-L/usr/local/lib -ledit' '--with-dlz-filesystem=yes' '--enable-dnstap' '--disable-fixed-rrset' '--disable-geoip' '--without-maxminddb' '--without-gssapi' '--with-libidn2=/usr/local' '--with-json-c' '--disable-largefile' '--with-lmdb=/usr/local' '--disable-native-pkcs11' '--without-python' '--disable-querytrace' '--enable-tcp-fastopen' '--enable-developer' '--enable-symtable' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/share/info/' '--build=amd64-portbld-freebsd12.1' 'build_alias=amd64-portbld-freebsd12.1' 'CC=cc' 'CFLAGS=-pipe -DLIBICONV_PLUG -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing ' 'LDFLAGS= -L/usr/local/lib -ljson-c -fstack-protector-strong ' 'LIBS=-L/usr/local/lib' 'CPPFLAGS=-DLIBICONV_PLUG -isystem /usr/local/include' 'CPP=cpp' 'PKG_CONFIG=pkgconf'
compiled by CLANG 4.2.1 Compatible FreeBSD Clang 8.0.1 (tags/RELEASE_801/final 366581)
compiled with OpenSSL version: OpenSSL 1.1.1d-freebsd 10 Sep 2019
linked to OpenSSL version: OpenSSL 1.1.1d-freebsd 10 Sep 2019
compiled with libuv version: 1.40.0
linked to libuv version: 1.40.0
compiled with libxml2 version: 2.9.10
linked to libxml2 version: 20910
compiled with json-c version: 0.15
linked to json-c version: 0.15
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
compiled with protobuf-c version: 1.3.2
linked to protobuf-c version: 1.3.2
threads support is enabled

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

Steps to reproduce

Currently unknown. Until we make a determination whether this is deliberately triggerable, I am starting this ticket as confidential.

What is the current bug behavior?

These are the lines that were logged when the customer's server exited:

Nov 29 06:59:00 res named[28212]: rbtdb.c:1146: REQUIRE(isc_refcount_current(&rbtdb->node_locks[i].references) == 0) failed, back trace
Nov 29 06:59:00 res named[28212]: #0 0x300be9 in assertion_failed()+0x59
Nov 29 06:59:00 res named[28212]: #1 0x67dd18 in isc_assertion_failed()+0x38
Nov 29 06:59:00 res named[28212]: #2 0x49207c in free_rbtdb()+0xcdc
Nov 29 06:59:00 res named[28212]: #3 0x4b16de in free_rbtdb_callback()+0x2e
Nov 29 06:59:00 res named[28212]: #4 0x6ca483 in dispatch()+0xc63
Nov 29 06:59:00 res named[28212]: #5 0x6c5ed1 in run()+0x41
Nov 29 06:59:00 res named[28212]: #6 0x800c76736 in _fini()+0x80058d1ca
Nov 29 06:59:00 res named[28212]: exiting (due to assertion failure)

What else have we got to go on?

Support ticket #17349 has two responses on it which contain links, one to a core file generated by the crash, the second to a package containing their named binary. They are linked from their ftp server, so I omit the URLs here, authorized devs please visit the support ticket for that info or request that Support copy it to a more convenient location if you prefer.

Edited Jan 21, 2021 by Michał Kępień
Assignee
Assign to
Time tracking