On Fri, 28 Apr 2006, Michel Meyers wrote:
> I installed the package that Andreas supplied:
> http://downhill.aus.cc/debian/misc/exim4-daemon-heavy_4.61-1.0.0.debug_i386.deb
> (md5: 1adecd15e58afe4f06d35b41bbda8871)
>
> The binary should be in there as well. (you can extract it with ar if
> you don't have Debian)
Aha! I don't have Debian (I run Gentoo), but I did manage to extract it
like that, and now there is some useful information:
(gdb) where
#0 0xffffe410 in ?? ()
#1 0xbfd18ce8 in ?? ()
#2 0xb7ab6ff4 in ?? ()
#3 0xbfd18d0c in ?? ()
#4 0xb7a44313 in ?? ()
#5 0xb7e78cb0 in ?? () from /usr/lib/libdb-4.2.so
#6 0xbfd18d78 in ?? ()
#7 0xb7e5ffb2 in __memp_set_ftype_4002 () from /usr/lib/libdb-4.2.so
#8 0xb7e5ffb2 in __memp_set_ftype_4002 () from /usr/lib/libdb-4.2.so
#9 0xb7e459ce in __dbenv_set_flags_4002 () from /usr/lib/libdb-4.2.so
#10 0xb7e2cfff in __db_c_put_4002 () from /usr/lib/libdb-4.2.so
#11 0xb7e28990 in __db_pg_free_read_4002 () from /usr/lib/libdb-4.2.so
#12 0x080616b2 in dbfn_open (name=0x80f1ad1 "retry", flags=2,
dbblock=0x812d498, lof=1) at dbfn.c:166
#13 0x0809da66 in retry_update (addr_defer=0x810bf18, addr_failed=0x810bf14,
addr_succeed=0x810bf04) at retry.c:599
#14 0x0806b61d in deliver_message (id=0x81244d5 "1FYpIF-0006Rh-NB", forced=0,
give_up=0) at deliver.c:6086
#15 0x0808fc8a in queue_run (start_id=0x0, stop_id=0x0, recurse=0)
at queue.c:621
#16 0x08072c0e in main (argc=<value optimized out>, cargv=0xbfd59bc4)
at exim.c:3878
If that backtrace is to be trusted, Exim's function dbfn_open() has
called the function __db_pg_free_read_4002() from the libdb library, and
somewhere in there is where things get stuck. Of course, Exim doesn't
call such a function by a name like that. It will be using the "open"
function pointer in the data structure it gets from db_create().
There have been several releases of libdb-4.2 (I'm running 4.2.52). I
wonder what you are running?
Anyway, this looks like something really horrid going on inside libdb. I
am not at all sure what we do now. Andreas?
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book