OK, I've figured it out now. In this case where a bounce message is frozen (I don't know if it has to be because the dnslookup router found that the primary MX was the local host) and ignore_bounce_errors_after = 0s, Exim still thinks that the message is frozen near the end of deliver.c and tries to move it even though the routing error has been ignored, no deferred address exists any longer, and the message therefore has been removed from the spool.
I've attached my suggested patch, which I will commit if nobody objects. The bug is completely harmless, so there's no need to panic. -- Magnus Holmgren [EMAIL PROTECTED]
Index: src/deliver.c =================================================================== RCS file: /home/cvs/exim/exim-src/src/deliver.c,v retrieving revision 1.41 diff -u -r1.41 deliver.c --- src/deliver.c 22 Jan 2007 16:29:54 -0000 1.41 +++ src/deliver.c 23 Jan 2007 01:44:01 -0000 @@ -6572,6 +6572,9 @@ readconf_printtime(time(NULL) - received_time)); else log_write(0, LOG_MAIN, "Completed"); + + /* Unset deliver_freeze so that we won't try to move the spool files further down */ + deliver_freeze = FALSE; } /* If there are deferred addresses, we are keeping this message because it is
pgpF3iL4pQcLg.pgp
Description: PGP signature