named crashed with SIGABRT in assertion_failed()

Bug #1552801 reported by Ertan Günay on 2016-03-03
124
This bug affects 27 people
Affects Status Importance Assigned to Milestone
bind9 (Ubuntu)
High
LaMont Jones
Xenial
Critical
Unassigned

Bug Description

After last upgrade and reboot, this problem happened.

ProblemType: Crash
DistroRelease: Ubuntu 16.04
Package: bind9 1:9.10.3.dfsg.P2-4
ProcVersionSignature: Ubuntu 4.4.0-10.25-generic 4.4.3
Uname: Linux 4.4.0-10-generic x86_64
ApportVersion: 2.20-0ubuntu3
Architecture: amd64
CrashCounter: 1
Date: Thu Mar 3 18:47:11 2016
ExecutablePath: /usr/sbin/named
InstallationDate: Installed on 2015-10-17 (138 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20151016)
ProcCmdline: BOOT_IMAGE=/boot/vmlinuz-4.4.0-10-generic root=UUID=58c3c7d9-9e8f-4ae4-89dd-92ecf4b1fc8a ro quiet splash vt.handoff=7
RelatedPackageVersions:
 bind9utils 1:9.10.3.dfsg.P2-4
 apparmor 2.10-3ubuntu2
Signal: 6
SourcePackage: bind9
StacktraceTop:
 ?? ()
 isc_assertion_failed () from /usr/lib/x86_64-linux-gnu/libisc.so.160
 isc.mem_destroy () from /usr/lib/x86_64-linux-gnu/libisc.so.160
 isc_mem_destroy () from /usr/lib/x86_64-linux-gnu/libisc.so.160
 ?? ()
Title: named crashed with SIGABRT in isc_assertion_failed()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Ertan Günay (ergunay) wrote :

StacktraceTop:
 assertion_failed (file=<optimized out>, line=<optimized out>, type=<optimized out>, cond=<optimized out>) at ../../../bin/named/main.c:232
 isc_assertion_failed (file=file@entry=0x7f2b23655798 "../../../lib/isc/mem.c", line=line@entry=1229, type=type@entry=isc_assertiontype_require, cond=cond@entry=0x7f2b236558bc "ctx->references == 1") at ../../../lib/isc/assertions.c:58
 isc__mem_destroy (ctxp=0x5626f0126c88 <ns_g_mctx>) at ../../../lib/isc/mem.c:1229
 isc_mem_destroy (mctxp=0x5626f0126c88 <ns_g_mctx>) at ../../../lib/isc/mem.c:2770
 main (argc=<optimized out>, argv=<optimized out>) at ../../../bin/named/main.c:1349

Changed in bind9 (Ubuntu):
importance: Undecided → Medium
summary: - named crashed with SIGABRT in isc_assertion_failed()
+ named crashed with SIGABRT in assertion_failed()
tags: removed: need-amd64-retrace
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in bind9 (Ubuntu):
status: New → Confirmed
Brian Murray (brian-murray) wrote :

The Error Tracker shows this bug occurring a lot:

http://errors.ubuntu.com/bug/1552801

Changed in bind9 (Ubuntu):
importance: Medium → High
information type: Private → Public
Changed in bind9 (Ubuntu):
milestone: none → xenial-updates
LaMont Jones (lamont) wrote :

Can I get your BIND configuration? Either to the bug, or privately to <email address hidden> if you are not comfortable posting it.

LaMont Jones (lamont) wrote :

Nevermind.. I've reproduced it, and will be working on it. FWIW, the error is occurring during the daemon shutdown, though that's not really a big help. :/

Changed in bind9 (Ubuntu):
assignee: nobody → LaMont Jones (lamont)
Ertan Günay (ergunay) wrote :

Sorry to late answer.
This error happens on only the computer in home.
And what should I do to overcome it.

Changed in bind9 (Ubuntu Xenial):
status: New → Triaged
importance: Undecided → Critical
LaMont Jones (lamont) wrote :

[Impact]

At shutdown, rather than terminating normally, named aborts with an assertion failure, pointing at a memory leak. This is confusing to users, and could potentially mask an actual memory-leak that could affect runtime operation. (The actual leaked memory is a control structure that is simply not deleted due to a bad patch migration.

[test case]
stop named, remove any related file in /var/crash, start it, and stop it again. no crash file should exist. If present, the trace shows main calling isc_mem_destroy (and we're dying in it's assertion that no memory has been leaked.)

[regression potential]
The root cause of the defect here was part of the chroot-init patch (no longer used) leaked into the random_1 patch when the patches were split up as part of going to quilt. The result was that the dst_lib_destroy() function was not called, causing the control structure for same to be "leaked" at shutdown. Other than all of the normal "a rebuild could cause anything to be broken", I don't see any issues from calling the function that upstream wants/needs t have called as we are shutting down. The worst case direct regression from from the change is that named would crash in a different way, at shutdown time.

[other info]

LaMont Jones (lamont) wrote :

diff -urN bind9-9.10.3.dfsg.P4-8/debian/changelog bind9-9.10.3.dfsg.P4-8ubuntu1/debian/changelog
--- bind9-9.10.3.dfsg.P4-8/debian/changelog 2016-04-13 13:20:25.000000000 -0600
+++ bind9-9.10.3.dfsg.P4-8ubuntu1/debian/changelog 2016-04-26 19:17:47.000000000 -0600
@@ -1,3 +1,10 @@
+bind9 (1:9.10.3.dfsg.P4-8ubuntu1) xenial-proposed; urgency=medium
+
+ * Fix bad patch from when we switched to quilt. Closes: #820847 LP:
+ #1552801, #1549788, #1553460
+
+ -- LaMont Jones <email address hidden> Tue, 26 Apr 2016 16:30:06 -0600
+
 bind9 (1:9.10.3.dfsg.P4-8) unstable; urgency=medium

   [Timo Aaltonen]
diff -urN bind9-9.10.3.dfsg.P4-8/debian/patches/20_random_1.diff bind9-9.10.3.dfsg.P4-8ubuntu1/debian/patches/20_random_1.diff
--- bind9-9.10.3.dfsg.P4-8/debian/patches/20_random_1.diff 2016-04-13 13:20:25.000000000 -0600
+++ bind9-9.10.3.dfsg.P4-8ubuntu1/debian/patches/20_random_1.diff 2016-04-26 19:17:47.000000000 -0600
@@ -28,15 +28,6 @@
   else if (!strcasecmp(str, "cyclic"))
    mode = 0;
   else
-@@ -6923,8 +6925,6 @@
- if (server->tkeyctx != NULL)
- dns_tkeyctx_destroy(&server->tkeyctx);
-
-- dst_lib_destroy();
--
- isc_event_free(&server->reload_event);
-
- INSIST(ISC_LIST_EMPTY(server->viewlist));
 --- a/lib/bind9/check.c
 +++ b/lib/bind9/check.c
 @@ -147,6 +147,7 @@

Hello Ertan, or anyone else affected,

Accepted bind9 into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/bind9/1:9.10.3.dfsg.P4-8ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in bind9 (Ubuntu Xenial):
status: Triaged → Fix Committed
tags: added: verification-needed
LaMont Jones (lamont) wrote :

Running 1:9.10.3.dfsg.P4-8, I see core files in /var/crash. Upgrading to 1:9.10.3.P4-8ubuntu1 (from xenial-proposed) I no longer see the error (other than during the upgrade, when -8 shuts down for the last time.)

tags: added: verification-done
removed: verification-needed
Changed in bind9 (Ubuntu Xenial):
milestone: none → xenial-updates
Changed in bind9 (Ubuntu):
milestone: xenial-updates → none
Ertan Günay (ergunay) wrote :

Thanks

I also confirm that bind9 from xenial-proposed resolved this bug.

Ertan Günay (ergunay) wrote :

Last a few day, I haven't seen this problem.
Thanks

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bind9 - 1:9.10.3.dfsg.P4-9

---------------
bind9 (1:9.10.3.dfsg.P4-9) unstable; urgency=medium

  * Fix bad patch from when we switched to quilt. Closes: #820847 LP:
    #1552801, #1549788, #1553460
  * freshen patch to remove fuzz.

 -- LaMont Jones <email address hidden> Tue, 26 Apr 2016 15:17:58 -0600

Changed in bind9 (Ubuntu):
status: Confirmed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bind9 - 1:9.10.3.dfsg.P4-8ubuntu1

---------------
bind9 (1:9.10.3.dfsg.P4-8ubuntu1) xenial-proposed; urgency=medium

  * Fix bad patch from when we switched to quilt. Closes: #820847 LP:
    #1552801, #1549788, #1553460

 -- LaMont Jones <email address hidden> Tue, 26 Apr 2016 16:30:06 -0600

Changed in bind9 (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for bind9 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.