Re: [Exim] Retry timeout on router failure?

Top Page
Delete this message
Reply to this message
Author: dman
Date:  
To: exim-users
Subject: Re: [Exim] Retry timeout on router failure?
On Wed, Mar 27, 2002 at 11:05:33AM +0000, Philip Hazel wrote:
| On Tue, 26 Mar 2002, dman wrote:

|
| > 2002-03-26 18:11:11 16piyF-0006OL-00 failed to open DB file /var/spool/exim/db/retry: File exists
| > 2002-03-26 18:20:33 16q1AX-00020S-00 failed to open DB file /var/spool/exim/db/wait-remote_smtp: File exists

|
| Can you provide a prescription for that?


The best I can say is to compile exim4 (either 4.00 or 4.01) and for
installation simply "cp build/exim /usr/sbin/exim". I saw this too on
the other machine I did that on, but didn't pay too much attention to
it (that machine also had some problem with the lockfiles; removing
them and recreating them with 'touch' seemed to solve it, but that
system is half-dead at the moment and I can't do anything with it).

| It's an error that people report from time to time, but which I've
| never been able to reproduce in any way.


Ok.

| > I didn't do an exactly kosher install, though. I simply put the
| > exim4 in place of the exim3 one (keeping a backup copy).

|
| Has your DBM library changed since you compiled Exim 3?


I didn't think so ...
For exim3 I was using the debian package. exim4 I compiled myself,
and didn't expect anything to be different. Hmm, exim (the package)
doesn't depend on libgdbmg1 (the package) at all. The libraries the
exims need are :

$ ldd /usr/sbin/exim3
        libident.so.0 => /usr/lib/libident.so.0 (0x40020000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0x40023000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4002c000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40041000)
        libpam.so.0 => /lib/libpam.so.0 (0x4006e000)
        libdb2.so.2 => /lib/libdb2.so.2 (0x40076000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x400b7000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x400c8000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x400ef000)
        libc.so.6 => /lib/libc.so.6 (0x400f9000)
        libdl.so.2 => /lib/libdl.so.2 (0x4021b000)
        libsasl.so.7 => /usr/lib/libsasl.so.7 (0x4021f000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)


$ ldd /usr/local/sbin/exim4
        libresolv.so.2 => /lib/libresolv.so.2 (0x40020000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40031000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40046000)
        libdb3.so.3 => /usr/lib/libdb3.so.3 (0x40073000)
        libpq.so.2 => /usr/lib/libpq.so.2 (0x4011b000)
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4012c000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40159000)
        libc.so.6 => /lib/libc.so.6 (0x4021b000)
        libdl.so.2 => /lib/libdl.so.2 (0x4033d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)



| If Exim 4 was compiled with a different DBM library version, that
| might explain it.


Hmm, is db2/db3 the DBM library? If so then you've pegged it.

| > Hmm, if I use the 4.01 exim_dumpdb, it says (abbreviated)
| > "Failed: Success". If I use the 3.34 one I get an outdated list of
| > entries from the retry db.

|
| That *does* look as though the DBM library has changed.


Sounds like that's the prescription for recreating the error :-).

| > Should I remove the existing db files or is there a command I
| > should use to fix them?

|
| If it is a change of library, just remove them and let them be
| recreated.


I did that, in addtion to properly installing the rest of the
binaries, and I no longer see that error message.


Due to a little blunder of mine, as I installed the exim 3.35 package
immediately after properly symlinking all the exim_* binaries. (I
didn't pay enough attention when apt-get upgradeing and hadn't put
exim on hold yet. It won't happen again :-)) Somehow I managed to
get *two* /var/spool/exim/db/retry and *two*
/var/spool/exim/db/wait-remote-smtp files! I didn't think that was at
all possible. I blew away the whole db directory (I couldn't remove
both of the files; rm said the second one didn't exist though ls said
it did). Now the problem is gone.

-D

--

Thy Word is a lamp unto my feet
and a light unto my path.
        Psalms 119:105