Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 565
    • Issues 565
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 93
    • Merge requests 93
  • 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
  • #759
Closed
Open
Issue created Dec 04, 2018 by Ghost User@ghost

BIND 9.9.4 keeps crashing with `buffer.c:420: REQUIRE(l <= ((b)->length - (b)->used))`

Summary

So i'm trying to understand why but bind just randomly keeps crashing on me. There is no good pattern to it. It crashed with some websites. (https://bugs.launchpad.net/)

BIND version used

BIND 9.9.4-RedHat-9.9.4-72.el7 (Extended Support Version)

Steps to reproduce

I have no clue, updated from BIND 9.9.4-61.el7_5.1.x86_64 and kept crashing.

What is the current bug behavior?

Kills bind

What is the expected correct behavior?

Keep happily running like nothing is happening

Relevant configuration files

options {
	listen-on port 53 { 10.10.0.22; };
	//listen-on-v6 port 53 { ::1; };

	version none;
	provide-ixfr no;
	
	auth-nxdomain no;    # conform to RFC1035

	directory			"/var/named";
	dump-file			"/var/named/data/cache_dump.db";
	statistics-file		"/var/named/data/named_stats.txt";
	memstatistics-file	"/var/named/data/named_mem_stats.txt";
	recursing-file		"/var/named/data/named.recursing";
	secroots-file		"/var/named/data/named.secroots";

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
    
	notify explicit;
	dnssec-lookaside auto;    
	filter-aaaa-on-v4 yes;
};
view "external" {
	match-clients { !intern; any; };
	recursion no;
	allow-transfer { list1; list2; };
	also-notify { list3; };
	<snip zones>
};
view "internal" {
	match-clients { intern; };
	recursion yes;
	allow-recursion { intern; };
	allow-query { intern; };
	notify no;
	<snip zones>
};

Relevant logs and/or screenshots

gdb coredump

(gdb) bt
#0  0x00007fd50f896207 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007fd50f8978f8 in __GI_abort () at abort.c:90
#2  0x0000557cdb7b925e in assertion_failed (file=<optimized out>, line=<optimized out>, type=<optimized out>,
    cond=<optimized out>) at ./main.c:222
#3  0x00007fd510d1731a in isc_assertion_failed (file=file@entry=0x7fd510d54a48 "buffer.c", line=line@entry=420,
    type=type@entry=isc_assertiontype_require, cond=cond@entry=0x7fd510d54cb0 "l <= ((b)->length - (b)->used)")
    at assertions.c:57
#4  0x00007fd510d19b10 in isc__buffer_putstr (b=b@entry=0x7fd50cf68070, source=source@entry=0x7fd5124ecafe ";") at buffer.c:420
#5  0x00007fd5123d25e7 in rdataset_totext (rdataset=rdataset@entry=0x7fd50860d320, owner_name=owner_name@entry=0x7fd50860c150,
    ctx=ctx@entry=0x7fd50cf67c10, omit_final_dot=omit_final_dot@entry=isc_boolean_false, target=target@entry=0x7fd50cf68070)
    at masterdump.c:454
#6  0x00007fd5123d4133 in dns_master_rdatasettotext (owner_name=0x7fd50860c150, rdataset=rdataset@entry=0x7fd50860d320,
    style=style@entry=0x7fd5124ed120 <dns_master_style_comment>, target=target@entry=0x7fd50cf68070) at masterdump.c:708
#7  0x00007fd5123dced8 in dns_message_sectiontotext (msg=msg@entry=0x7fd5086081d8, section=section@entry=2,
    style=style@entry=0x7fd5124ed120 <dns_master_style_comment>, flags=flags@entry=0, target=target@entry=0x7fd50cf68070)
    at message.c:3296
#8  0x00007fd5123ddbea in dns_message_totext (msg=msg@entry=0x7fd5086081d8,
    style=style@entry=0x7fd5124ed120 <dns_master_style_comment>, flags=flags@entry=0, target=target@entry=0x7fd50cf68070)
    at message.c:3520
#9  0x00007fd5123ddf6f in dns_message_logfmtpacket (message=message@entry=0x7fd5086081d8,
    description=description@entry=0x7fd5124fa453 "received packet:\n", category=0x7fd512735bf0 <dns_categories+80>,
    module=0x7fd512735b60 <dns_modules+480>, style=0x7fd5124ed120 <dns_master_style_comment>, level=level@entry=10,
    mctx=0x557cdc9031d0) at message.c:3615
#10 0x00007fd5124689c6 in resquery_response (task=0x7fd508ff2190, event=<optimized out>) at resolver.c:6977
#11 0x00007fd510d3a276 in dispatch (manager=0x7fd512b19010) at task.c:1116
#12 run (uap=0x7fd512b19010) at task.c:1286
#13 0x00007fd5108eadd5 in start_thread (arg=0x7fd50cf69700) at pthread_create.c:307
#14 0x00007fd50f95dead in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

general.log

04-Dec-2018 20:06:34.873 buffer.c:420: REQUIRE(l <= ((b)->length - (b)->used)) failed, back trace
04-Dec-2018 20:06:34.873 #0 0x558401376090 in ??
04-Dec-2018 20:06:34.873 #1 0x7fd86798f31a in ??
04-Dec-2018 20:06:34.873 #2 0x7fd867991b10 in ??
04-Dec-2018 20:06:34.873 #3 0x7fd86904a5e7 in ??
04-Dec-2018 20:06:34.873 #4 0x7fd86904c133 in ??
04-Dec-2018 20:06:34.873 #5 0x7fd869054ed8 in ??
04-Dec-2018 20:06:34.873 #6 0x7fd869055bea in ??
04-Dec-2018 20:06:34.873 #7 0x7fd869055f6f in ??
04-Dec-2018 20:06:34.873 #8 0x7fd8690e09c6 in ??
04-Dec-2018 20:06:34.873 #9 0x7fd8679b2276 in ??
04-Dec-2018 20:06:34.873 #10 0x7fd867562dd5 in ??
04-Dec-2018 20:06:34.873 #11 0x7fd8665d5ead in ??
04-Dec-2018 20:06:34.873 exiting (due to assertion failure)

Possible fixes

(If you can, link to the line of code that might be responsible for the problem.)

Assignee
Assign to
Time tracking