Re: unbound crashes on bootup

From: Jean-Sébastien Pédron <dumbbell_at_FreeBSD.org>
Date: Wed, 11 Feb 2015 19:06:04 +0100
On 06.02.2015 14:06, Poul-Henning Kamp wrote:
> I just updated my -current to r278283, and unbound (still) croaks
> during bootup:

Hi!

I have a similar problem. Also, unbound crashes each time I start/stop
OpenVPN. I suppose the problem is the same in both cases.

The crash happens in the config_lookup_uid() in
contrib/unbound/util/config_file.c. Here's the code:

    struct passwd *pwd;
    if((pwd = getpwnam(cfg->username)) == NULL)
        log_err("user '%s' does not exist.", cfg->username);
    cfg->uid = pwd->pw_uid;

getpwnam(3) returns NULL: an error message is logged but the function
doesn't return. Therefore, the program segfaults on "pwd->pw_uid" on the
next line.

But why did getpwnam(3) return NULL in the first place? It looks for the
"unbound" user which exists. getpwnam() calls _nsdispatch() which fails.

I have the default nsswitch.conf. I didn't look at the problem more
deeply yet, but could getpwnam()/_nsdispatch() be unhappy with the
absence of a working DNS resolver (unbound is being (re)started)?

-- 
Jean-Sébastien Pédron


Received on Wed Feb 11 2015 - 17:06:14 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC