Bug 985918 - 'dig +topdown +trace +dnssec +sigchase +all -t DS freeipa.org' fails with assert
Summary: 'dig +topdown +trace +dnssec +sigchase +all -t DS freeipa.org' fails with assert
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: bind
Version: rawhide
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Tomáš Hozza
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-18 13:51 UTC by Tomáš Hozza
Modified: 2014-10-03 10:19 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-03 10:19:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomáš Hozza 2013-07-18 13:51:36 UTC
Description of problem:
Command 'dig +topdown +trace +dnssec +sigchase +all -t DS freeipa.org'
fails with assert.

name.c:572: REQUIRE((((name2) != ((void *)0)) && (((const isc__magic_t *)(name2))->magic == ((('D') << 24 | ('N') << 16 | ('S') << 8 | ('n')))))) failed, back trace
#0 0x3610c0f174 in ??
#1 0x3610c0f0da in ??
#2 0x361287a193 in ??
#3 0x40ea75 in ??
#4 0x4164ac in ??
#5 0x3610c30f36 in ??
#6 0x3611407c53 in ??
#7 0x36110f513d in ??
Aborted (core dumped)

Version-Release number of selected component (if applicable):
bind-9.9.3-3.P1.fc19.x86_64

How reproducible:
always

Steps to Reproduce:
1. run 'dig +topdown +trace +dnssec +sigchase +all -t DS freeipa.org'
2.
3.

Actual results:
dig fails

Expected results:
dig exits without error

Additional info:

Comment 1 Tomáš Hozza 2013-08-15 13:32:13 UTC
'dig +topdown +trace +sigchase -t DS freeipa.org' is enough to trigger the
assert.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff7f81700 (LWP 10922)]
0x0000003611035a19 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt
#0  0x0000003611035a19 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x0000003611037128 in __GI_abort () at abort.c:90
#2  0x0000003c3c00f0df in isc_assertion_failed (file=file@entry=0x3c3c57e8b2 "name.c", line=line@entry=572, type=type@entry=isc_assertiontype_require, 
    cond=cond@entry=0x3c3c57edc0 "(((name2) != ((void *)0)) && (((const isc__magic_t *)(name2))->magic == ((('D') << 24 | ('N') << 16 | ('S') << 8 | ('n')))))") at assertions.c:58
#3  0x0000003c3c47a193 in dns_name_fullcompare (name1=<optimized out>, name2=0x7fffec193880, orderp=orderp@entry=0x7ffff7f7fe90, nlabelsp=nlabelsp@entry=0x7ffff7f7fe4c) at name.c:572
#4  0x000000000040ea75 in followup_lookup (msg=0x7ffff7f958f8, query=query@entry=0x7ffff7fa1018, section=section@entry=2) at dighost.c:1802
#5  0x00000000004164ac in recv_done (task=<optimized out>, event=0x7ffff7f93010) at dighost.c:3500
#6  0x0000003c3c030f36 in dispatch (manager=0x7ffff7f87010) at task.c:1116
#7  run (uap=0x7ffff7f87010) at task.c:1286
#8  0x0000003611407c53 in start_thread (arg=0x7ffff7f81700) at pthread_create.c:308
#9  0x00000036110f513d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Comment 2 Tomáš Hozza 2013-08-19 13:33:26 UTC
[ISC-Bugs #34663]

Comment 3 Tomáš Hozza 2014-10-01 18:37:47 UTC
Upstrean has a fix. However they claim there are more bugs when using the +sigchase.

https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=patch;h=7d891eaf911e5cab1f704615f8f1ef87c8716f46

Comment 4 Tomáš Hozza 2014-10-03 07:56:33 UTC
I can confirm that the fix solved the ASSERT issue.

Comment 5 Tomáš Hozza 2014-10-03 10:19:30 UTC
Fixed in bind-9.9.6-1.fc22. I'll most probably merge the 9.9.6 update also to F21 so it will be fixed there, too.


Note You need to log in before you can comment on or make changes to this bug.