Re: [Exim] exim -bd crashes (Version 4.20, with openldap2 an…

Top Page
Delete this message
Reply to this message
Author: Tony Finch
Date:  
To: Dominik.Schramm
CC: exim-users
Subject: Re: [Exim] exim -bd crashes (Version 4.20, with openldap2 and native bdb)
"Schramm, Dominik" <Dominik.Schramm@???> wrote:
>Tony Finch wrote:
>> Debian uses the name service switch, doesn't it? In which case you may
>> be able to turn on some debugging stuff in somewhere like /etc/nss.conf.
>
>yes, it does. and that was exaclty the problem.
>the setting that made exim crash was the line
>   services:       db files
>in /etc/nsswitch.conf

>
>That means that exim is not the root of this evil problem,
>so I have to figure out what else exactly is causing this
>(the nsswitch.conf with the problematic line mentioned above
>must be debian standard; at least I don't remember ever having touched it)


That will be a linkage problem. The name service switch will be
dynamically loading a db driver in the form of a shared object,
which is probably also pulling in a db library that clashes with
the one that Exim is linked with. I suggest playing around with
ldd, exim, and /lib/libnss_*.

In fact, on this Debian box, I find that

:; ldd /usr/sbin/exim
        libident.so.0 => /usr/lib/libident.so.0 (0x4001d000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0x40020000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4002a000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4003e000)
        libpam.so.0 => /lib/libpam.so.0 (0x4006b000)
        libdb2.so.2 => /lib/libdb2.so.2 (0x40073000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x400b4000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x400c4000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x400e9000)
        libc.so.6 => /lib/libc.so.6 (0x400f3000)
        libdl.so.2 => /lib/libdl.so.2 (0x40211000)
        libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40214000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
:; ldd /lib/libnss_db.so.2
        libnss_files.so.2 => /lib/libnss_files.so.2 (0x4000e000)
        libdb3.so.3 => /usr/lib/libdb3.so.3 (0x40017000)
        libc.so.6 => /lib/libc.so.6 (0x400c0000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)


Note that they require different versions of libdb, which is
what might be causing the crash. I suggest reporting this to
Debian as a bug.

Tony.
--
f.a.n.finch <dot@???> http://dotat.at/
MALIN: SOUTHEASTERLY 5 OR 6 DECREASING 3 OR 4. SHOWERS. MAINLY GOOD.