Hi All!
I have already posted on this issue but I had no reply.
The problem is:
I have "warning: internal error: delivery report out of range" _too_
often and _local_ (and only local) delivery stops.
i hacked abit on qmail-send.c which obviously writes that message
this is a debugging my debugging hack:
--- qmail-send-orig.c Mon Apr 8 11:26:36 2002
+++ qmail-send.c Mon Apr 8 11:26:12 2002
@@ -31,6 +31,10 @@
#include "constmap.h"
#include "fmtqfn.h"
#include "readsubdir.h"
+//just for debugging - not qmail style
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
/* critical timing feature #1: if not triggered, do not busy-loop */
/* critical timing feature #2: if triggered, respond within fixed time */
@@ -935,6 +939,18 @@
{
delnum = (unsigned int) (unsigned char) dline[c].s[0];
delnum += (unsigned int) ((unsigned int) dline[c].s[1]) << 8;
+
+ {
+ char *debugstr1 = malloc(1024);
+ char *debugstr2 = malloc(1024);
+ snprintf(debugstr1, 1024, "DEBUG: delnum == %d\n", delnum);
+ snprintf(debugstr2, 1024, "DEBUG: concurrency[%d] ==
%d\n",c, concurrency );
+ log1(debugstr1);
+ log1(debugstr2);
+ free(debugstr1);
+ free(debugstr2);
+ }
if ((delnum < 0) || (delnum >= concurrency[c]) || !d[c][delnum].used)
log1("warning: internal error: delivery report out of range\n");
else
Well, to prevent all the flames i should admit it is really _UGLY_ but
it helps to understand things.
Than i made a little shell script to generate continious flow of local
delieveries smtp-ing to localhost
like
$ while true ;do echo "hello world" | mail [EMAIL PROTECTED] ;sleep 1 ;done
looking into log i certainly got _a lot of_ successful deliveries
>DEBUG: delnum == 0
>DEBUG: concurrency[0] == 134550600
but soon it became
>DEBUG: delnum == 17732
>DEBUG: concurrency[0] == 134550600
and local delivery stopped saying: "status: local 30/30 remote 0/40"
Could anyone suggest anything?
Thanks in advance