host crashed with SIGABRT in isc_assertion_failed()

Bug #1797926 reported by blurhy on 2018-10-15
24
This bug affects 2 people
Affects Status Importance Assigned to Milestone
BIND
Undecided
Unassigned
bind9 (Ubuntu)
Medium
Andreas Hasenack
Xenial
Undecided
Unassigned
Bionic
Undecided
Unassigned

Bug Description

[Impact]

 * If a tool using the routines defined in bin/dig/dighost.c is sent an
   interruption signal around the time a connection timeout is scheduled
   to fire, connect_timeout() may be executed after destroy_libs()
   detaches from the global task (setting 'global_task' to NULL), which
   results in a crash upon a UDP retry due to bringup_timer() attempting
   to create a timer with 'task' set to NULL.

 * Fix by preventing connect_timeout() from attempting a retry when
   shutdown is in progress.

[Test Case]

 * That is the bad part of this SRU, there is no known testcase.
   If you look at https://errors.ubuntu.com/problem/aba9505d17ecd495c2e68014d087e0bcb70a7a68 it seems often enough, but no clear "do this to trigger" :-/
   Just like the other fix we intend to group with (for xenial).
   Maybe more time in proposed to be a bit safer?

[Regression Potential]

 * This is in bind and Ubuntu releases for quite a while so general
   confidence is high. I could think of issue if this - on the backport -
   works differently as it is using a global variable (urgs) to detect if
   a shutdown is in progress. But overall it should replace a hard crash
   with a softer early exit that seems ok.

[Other Info]

 * There is a patch adding "sleep 10" to the code to force the bug,
   but then I'd not test the packages in proposed right :-/

I wake up the computer.Then It shows a blank black screen with a sidebar (favourite apps).I can't login.
Then I suspend the computer again and wake up it.It shows a error reporting dialog

ProblemType: Crash
DistroRelease: Ubuntu 18.10
Package: bind9-host 1:9.11.4+dfsg-3ubuntu5
ProcVersionSignature: Ubuntu 4.18.0-10.11-generic 4.18.12
Uname: Linux 4.18.0-10-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.10-0ubuntu11
Architecture: amd64
Date: Mon Oct 15 23:48:32 2018
ExecutablePath: /usr/bin/host
InstallationDate: Installed on 2018-10-10 (5 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Beta amd64 (20180927)
ProcCmdline: host -t soa local.
ProcEnviron: PATH=(custom, no user)
Signal: 6
SourcePackage: bind9
StacktraceTop:
 isc_assertion_failed () from /usr/lib/x86_64-linux-gnu/libisc.so.169
 isc.timer_create () from /usr/lib/x86_64-linux-gnu/libisc.so.169
 ?? ()
 ?? ()
 ?? ()
Title: host crashed with SIGABRT in isc_assertion_failed()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Related branches

CVE References

blurhy (blurhy) wrote :

StacktraceTop:
 isc_assertion_failed (file=file@entry=0x7fe590cb769c "../../../lib/isc/timer.c", line=line@entry=392, type=type@entry=isc_assertiontype_require, cond=cond@entry=0x7fe590cb0103 "task != ((void *)0)") at ../../../lib/isc/assertions.c:52
 isc__timer_create (manager0=0x7fe58d741010, type=<optimized out>, expires=<optimized out>, interval=<optimized out>, task=0x0, action=0x55bcf1af75c0 <connect_timeout>, arg=0x7fe58d74e018, timerp=0x7fe58d74e288) at ../../../lib/isc/timer.c:457
 bringup_timer (query=0x7fe58d74e018, default_timeout=<optimized out>) at ../../../bin/dig/dighost.c:2949
 send_udp (query=0x7fe58d74e018) at ../../../bin/dig/dighost.c:3135
 connect_timeout (task=<optimized out>, event=<optimized out>) at ../../../bin/dig/dighost.c:3265

Changed in bind9 (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Andreas Hasenack (ahasenack) wrote :

Thanks for filing this bug in Ubuntu.

I filed this bug upstream for now: https://gitlab.isc.org/isc-projects/bind9/issues/599

If this happens again, please let us know, as having a way to reproduce it reliably would be very helpful.

no longer affects: bind
Changed in bind9 (Ubuntu):
status: New → Triaged
information type: Private → Public
Andreas Hasenack (ahasenack) wrote :
tags: added: server-next
Andreas Hasenack (ahasenack) wrote :

As soon as the ubuntu archive is open again, we can work on this.

Changed in bind9 (Ubuntu):
assignee: nobody → Andreas Hasenack (ahasenack)
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :
Download full text (3.5 KiB)

This bug was fixed in the package bind9 - 1:9.11.5+dfsg-1ubuntu1

---------------
bind9 (1:9.11.5+dfsg-1ubuntu1) disco; urgency=medium

  * Merge with Debian unstable. Remaining changes:
    - Build without lmdb support as that package is in Universe
    - Don't build dnstap as it depends on universe packages:
      + d/control: drop build-depends on libfstrm-dev, libprotobuf-c-dev and
        protobuf-c-compiler (universe packages)
      + d/dnsutils.install: don't install dnstap
      + d/libdns1104.symbols: don't include dnstap symbols
      + d/rules: don't build dnstap nor install dnstap.proto
  * Dropped:
    - SECURITY UPDATE: denial of service crash when deny-answer-aliases
      option is used
      + debian/patches/CVE-2018-5740-1.patch: explicit DNAME query could
        trigger a crash if deny-answer-aliases was set
      + debian/patches/CVE-2018-5740-2.patch: add tests
      + debian/patches/CVE-2018-5740-3.patch: caclulate nlabels and set
        chainingp correctly, add test
      + CVE-2018-5740
        [Fixed in new upstream version 9.11.5]
    - d/extras/apparmor.d/usr.sbin.named: add missing comma at the end of the
      line (Closes: #904983)
      [Fixed in 1:9.11.4+dfsg-4]
    - Add a patch to fix named-pkcs11 crashing on startup. (LP #1769440)
      [Fixed in 1:9.11.4.P1+dfsg-1]
    - Cherrypick from debian: Add new dst__openssleddsa_init optional symbol
      (it depends on OpenSSL version) (Closes: #897643)
      [Fixed in 1:9.11.4.P1+dfsg-1]
  * Added:
    - d/p/enable-udp-in-host-command.diff: fix parsing of the -U command line
      option (LP: #1804648)
    - d/p/fix-shutdown-race.diff: dig/host/nslookup could crash when interrupted
      close to a query timeout (LP: #1797926)
    - d/t/simpletest: drop the internetsociety.org test as it requires
      network egress access that is not available in the Ubuntu autopkgtest
      farm.

bind9 (1:9.11.5+dfsg-1) unstable; urgency=medium

  * Use <email address hidden> as Maintainer address
  * New upstream version 9.11.5+dfsg
  * Add EXTENSIONS= to version file programmatically, not with the patch
  * Rebase patches for BIND 9.11.5
  * Adjust package names for new SONAMEs

bind9 (1:9.11.4.P2+dfsg-3) unstable; urgency=medium

  * Also avoid OpenSSL 1.1.1 in udebs.
    Thanks to KiBi for the hint
  * autopkgtest: Make an external query and check for DNSSEC

bind9 (1:9.11.4.P2+dfsg-2) unstable; urgency=medium

  * Temporarily disable EDDSA to relax OpenSSL version requirement

bind9 (1:9.11.4.P2+dfsg-1) unstable; urgency=medium

  [ Bernhard Schmidt ]
  * Add a very simple autopkgtest (dig @127.0.0.1)

  [ Ondřej Surý ]
  * New upstream version 9.11.4.P2+dfsg
  * Rebase patches for BIND 9.11.4-P2

bind9 (1:9.11.4.P1+dfsg-1) unstable; urgency=medium

  [ Timo Aaltonen ]
  * skip-rtld-deepbind-for-dyndb.diff: Add a patch to fix named-pkcs11
    crashing on startup. (LP: #1769440)

  [ Bernhard Schmidt ]
  * Add gbp.conf for pristine-tar usage
  * d/watch: Properly deal with -P patch releases

  [ Ondřej Surý ]
  * Don't fail to start if /etc/default/bind9 doesn't exist
  * New upstream version 9.11.4.P1+dfsg
  * Rebase patches for BIND 9.11.4-P1
  * Add new dst__open...

Read more...

Changed in bind9 (Ubuntu):
status: In Progress → Fix Released

It seems this crash was actually really common :-/
  https://errors.ubuntu.com/problem/aba9505d17ecd495c2e68014d087e0bcb70a7a68

Glad that it is already fixed!
I created a bug of the error tracker and will dup it onto this one.
But I wonder if we could/should consider SRUing this @Andreas opinions?

Changed in bind:
status: New → Fix Released

This also was discussed upstream, lets link that one here as well.
=> https://gitlab.isc.org/isc-projects/bind9/issues/599

Changed in bind9 (Ubuntu Xenial):
status: New → Confirmed
Changed in bind9 (Ubuntu Bionic):
status: New → Confirmed
description: updated

Uploaded to -unapproved for SRU Team review

Hello blurhy, or anyone else affected,

Accepted bind9 into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/bind9/1:9.11.3+dfsg-1ubuntu1.9 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 on 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-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in bind9 (Ubuntu Bionic):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-bionic
Changed in bind9 (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed-xenial
Brian Murray (brian-murray) wrote :

Hello blurhy, 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.15 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 on 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-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

I was testing the package in Xenial and Bionic a bit in general as we have no explicit crash steps as outlined in the SRU template. It worked fine for me through an upgrade and with some simple name resolutions using the bind9 tools like bind9-host through the local named.

Setting verified, but given that we lack an explicit test I'd not mind if we keep this in -proposed a bit linger than usual before releasing it just to give things an extra chance to be spotted.

tags: added: verification-done verification-done-bionic verification-done-xenial
removed: verification-needed verification-needed-bionic verification-needed-xenial
tags: added: block-proposed

Still heard nothing of any issues from any proposed testing, I think it is time to release it now - removing block-proposed.

tags: removed: block-proposed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bind9 - 1:9.11.3+dfsg-1ubuntu1.9

---------------
bind9 (1:9.11.3+dfsg-1ubuntu1.9) bionic; urgency=medium

  * d/p/fix-shutdown-race.diff: dig/host/nslookup could crash when interrupted
    close to a query timeout (LP: #1797926)

 -- Christian Ehrhardt <email address hidden> Wed, 07 Aug 2019 16:43:40 +0200

Changed in bind9 (Ubuntu Bionic):
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.

Launchpad Janitor (janitor) wrote :

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

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

  * d/p/ubuntu//lp-1833400*: fix race on shutdown (LP: #1833400)
  * d/p/fix-shutdown-race.diff: dig/host/nslookup could crash when interrupted
    close to a query timeout (LP: #1797926)

 -- Christian Ehrhardt <email address hidden> Mon, 05 Aug 2019 07:30:49 +0200

Changed in bind9 (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.