Nigel Metheringham edited this page Nov 29, 2012 · 2 revisions

Q0602

Question

Exim keeps crashing with segmentation errors (signal 11 or 139) during delivery. This seems to happen when it is about to contact a remote host or when a delivery is deferred.

Answer

This could be a problem with Exim's databases. Try running a delivery with debugging turned on. If the last line of the debug output is something like this:

locked /var/spool/exim/db/retry.lockfile

the crash is happening inside the DBM library. Check that your DBM library is correctly installed. In particular, if you have installed a second DBM library onto a system that already had one, check that its version of ndbm.h is being seen first. For example, if the new version is in /usr/local/include, check that there isn't another version in /usr/include. If you are using Berkeley db, you can set

USE_DB=yes

in your Local/Makefile to avoid using ndbm.h altogether. This is particularly relevant for version 2 (or later) of Berkeley db, because no ndbm.h file is distributed with it. Another thing you can try is to run

exim_dumpdb /var/spool/exim retry

to see if it also crashes, or build the test_dbfn tool and fiddle around with it. If both fail, it is most almost certainly a problem with your DBM library. You could try to update it, or force Exim to use another library. See the file doc/dbm.discuss.txt for hints about this.


Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.