Random segfaults on __pthread_create_2_1

Bug #1627270 reported by jclariana
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pdnsd (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

We are experiencing random segfaults on our pdnsd daemon.

System versions:

Ubuntu 16.04.1 LTS
Arch: 64bits
pdnsd version: 1.2.9a-par-3
libc6 version: 2.23-0ubuntu3
kernel version: Linux api 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

In syslog:

Sep 24 07:05:35 api kernel: [84418.840445] pdnsd[32156]: segfault at 7f18f395cd13 ip 00007f18f456decf sp 00007f18f2158bc0 error 4 in libpthread-2.23.so[7f18f4566000+18000]

I enabled core dump, apport report is attached to this issue.
When trying to backtrace the segfault:

Core was generated by `/usr/sbin/pdnsd --daemon -p /var/run/pdnsd.pid'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __pthread_create_2_1 (newthread=<optimized out>, attr=<optimized out>, start_routine=<optimized out>, arg=<optimized out>) at pthread_create.c:713
713 pthread_create.c: No such file or directory.
[Current thread is 1 (Thread 0x7f34be48a700 (LWP 2991))]
(gdb) bt
#0 __pthread_create_2_1 (newthread=<optimized out>, attr=<optimized out>, start_routine=<optimized out>, arg=<optimized out>) at pthread_create.c:713
#1 0x000000000040ece5 in ?? ()
#2 0x00007f34c089e6fa in start_thread (arg=0x7f34be48a700) at pthread_create.c:333
#3 0x00007f34c05d4b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

pdnsd config file:

// Read the pdnsd.conf(5) manpage for an explanation of the options.
/* Note: this file is overriden by automatic config files when
   /etc/default/pdnsd AUTO_MODE is set and that
   /usr/share/pdnsd/pdnsd-$AUTO_MODE.conf exists
 */
global {
    perm_cache = 2048;
    cache_dir = "/var/cache/pdnsd";
    run_as = "pdnsd";
    server_ip = 127.0.0.1;
    status_ctl = on;
    paranoid = on;
    min_ttl = 15m; // Retain cached entries at least 15m.
    max_ttl = 1w;
    timeout = 10; // Global timeout option (10 seconds).
    neg_rrs_pol = on;
    par_queries = 1;
}

server {
    label="resolvconf";
    file="/var/run/resolvconf/interface/eth0.dhclient";
    proxy_only=on;
}

source {
    owner=localhost;
    file="/etc/hosts";
}

rr {
    name=localhost;
    reverse=on;
    a=127.0.0.1;
    owner=localhost;
    soa=localhost,root.localhost,42,86400,900,86400,86400;
}

/* vim:set ft=c: */

Tags: pdnsd segfault
Revision history for this message
jclariana (jordiclariana) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in pdnsd (Ubuntu):
status: New → Confirmed
Revision history for this message
Krzysztof Warunek (kwarunek) wrote :

I experience similar problem. Crash happens after some time ~20h.

My configs:

/etc/pdnsd.conf:
# -- begin pdnsd.conf --
global {
    perm_cache = 32768;
    cache_dir = "/var/cache/pdnsd";
    run_as = "pdnsd";
    server_ip = 127.0.0.1; // Use eth0 here if you want to allow other
                            // machines on your network to query pdnsd.
    status_ctl = on;
    paranoid = on;
    min_ttl = 0s; // We want to honour DNS TTL
    max_ttl = 1w; // One week.
    neg_ttl = 5s;
    timeout = 10; // Global timeout option (10 seconds).
}

server {
    label=OnetDNS;
    ip=10.10.44.11;
    ip=10.10.44.21;
    timeout=2;
    purge_cache=off;
    proxy_only=on;
    uptest=ping;
    ping_timeout=10;
    randomize_servers=on;
}

rr {
    name = localhost;
    reverse = on;
    a = 127.0.0.1;
    owner = localhost;
    soa = localhost,root.localhost,42,86400,900,86400,86400;
}

source {
    owner = localhost;
    file = "/etc/hosts";
    serve_aliases=on;
}

source {
    owner = localhost;
    file = "/etc/hosts.mydomain";
    serve_aliases=on;
}
include {
    file = /etc/pdnsd.d/locdom.conf;
}
# -- end pdnsd.conf --

/etc/pdnsd.d/locdom.conf
# -- begin locdom.conf --
rr {
    name = onetapi.pl;
    ns = localhost;
    soa = localhost,root.localhost,42,86400,900,86400,86400;
    a = 10.177.0.1;
}

rr {
        name = *.locdom.com;
        cname = locdom.com;
}
# -- end locdom.conf --

Revision history for this message
Krzysztof Warunek (kwarunek) wrote :

update, crash happens randomly, the assumption of 20h is false.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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