host crashed with SIGABRT in isc_assertion_failed()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
BIND |
Fix Released
|
Undecided
|
Unassigned | ||
bind9 (Ubuntu) |
Fix Released
|
Medium
|
Andreas Hasenack | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
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:/
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.
ProcVersionSign
Uname: Linux 4.18.0-10-generic x86_64
NonfreeKernelMo
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_
isc.timer_create () from /usr/lib/
?? ()
?? ()
?? ()
Title: host crashed with SIGABRT in isc_assertion_
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:
Related branches
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 71 lines (+49/-0)3 files modifieddebian/changelog (+7/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+1/-0)
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 166 lines (+132/-0)5 files modifieddebian/changelog (+8/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+3/-0)
debian/patches/ubuntu/lp-1833400-master-Remove-REQUIRE-preventing-change-4592-from-wo.patch (+33/-0)
debian/patches/ubuntu/lp-1833400-master-fix-dispatch.c-shutdown-race.patch (+47/-0)
- Andreas Hasenack (community): Approve
- Canonical Server Core Reviewers: Pending requested
- Canonical Server: Pending requested
-
Diff: 953 lines (+646/-83)10 files modifieddebian/bind9.install (+0/-2)
debian/changelog (+574/-0)
debian/control (+2/-5)
debian/dnsutils.install (+0/-2)
debian/libdns1104.symbols (+0/-66)
debian/patches/enable-udp-in-host-command.diff (+26/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+2/-0)
debian/rules (+1/-4)
debian/tests/simpletest (+0/-4)
- Bryce Harrington (community): Approve
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- Canonical Server packageset reviewers: Pending requested
-
Diff: 972 lines (+666/-83)11 files modifieddebian/bind9.install (+0/-2)
debian/changelog (+549/-0)
debian/control (+2/-5)
debian/dnsutils.install (+0/-2)
debian/libdns1104.symbols (+0/-66)
debian/patches/CVE-2019-6471.patch (+44/-0)
debian/patches/enable-udp-in-host-command.diff (+26/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+3/-0)
debian/rules (+1/-4)
debian/tests/simpletest (+0/-4)
- Christian Ehrhardt (community): Approve
- Canonical Server: Pending requested
-
Diff: 778 lines (+492/-83)10 files modifieddebian/bind9.install (+0/-2)
debian/changelog (+420/-0)
debian/control (+2/-5)
debian/dnsutils.install (+0/-2)
debian/libdns1104.symbols (+0/-66)
debian/patches/enable-udp-in-host-command.diff (+26/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+2/-0)
debian/rules (+1/-4)
debian/tests/simpletest (+0/-4)
- Christian Ehrhardt (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 752 lines (+472/-83)10 files modifieddebian/bind9.install (+0/-2)
debian/changelog (+400/-0)
debian/control (+2/-5)
debian/dnsutils.install (+0/-2)
debian/libdns1104.symbols (+0/-66)
debian/patches/enable-udp-in-host-command.diff (+26/-0)
debian/patches/fix-shutdown-race.diff (+41/-0)
debian/patches/series (+2/-0)
debian/rules (+1/-4)
debian/tests/simpletest (+0/-4)
CVE References
Changed in bind9 (Ubuntu): | |
assignee: | nobody → Andreas Hasenack (ahasenack) |
status: | Triaged → In Progress |
Changed in bind9 (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in bind9 (Ubuntu Bionic): | |
status: | New → Confirmed |
description: | updated |
tags: | added: block-proposed |
StacktraceTop: failed (file=file@ entry=0x7fe590c b769c "../../ ../lib/ isc/timer. c", line=line@ entry=392, type=type@ entry=isc_ assertiontype_ require, cond=cond@ entry=0x7fe590c b0103 "task != ((void *)0)") at ../../. ./lib/isc/ assertions. c:52 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 0x7fe58d74e018, default_ timeout= <optimized out>) at ../../. ./bin/dig/ dighost. c:2949 0x7fe58d74e018) at ../../. ./bin/dig/ dighost. c:3135 ./bin/dig/ dighost. c:3265
isc_assertion_
isc__timer_create (manager0=
bringup_timer (query=
send_udp (query=
connect_timeout (task=<optimized out>, event=<optimized out>) at ../../.