[Mailman-Developers] message posting in a loop with mailman 2.1b1

Marc MERLIN marc_news@vasoftware.com
Tue, 16 Apr 2002 16:28:17 -0700


On Tue, Apr 16, 2002 at 06:33:59PM -0400, Barry A. Warsaw wrote:
>     SMTP> 451 Temporary local problem - please try later
> 
>     MM> The problem is that mailman decided that the whole post
>     MM> failed, and started to resend it in a loop.
> 
> If I'm reading RFC 2821 correctly, this is the right thing for Mailman
> to do.  A 451 error code means:
 
I'm not saying  that mailman is incorrect on the  interpretation of the RFC,
I'm saying  that if mailman  feeds an  incorrect Email address  or something
that causes  the MTA  to reject  the mail,  it will  endlessly spam  all the
subscribers that are being delivered to every time mailman tries.

This can't be the desired behaviour...

What if mailman  gets a 5xx? Does it give  up on the message and  drop it on
the floor?

My point is that in both cases it should log a clear error of what happened,
and save the message that triggered the problem somewhere.
But you  are right that  in theory mailman should  know who the  message was
delivered to, and who didn't get it.
 
>     "The command was not accepted, and the requested action did not
>      occur.  However, the error condition is temporary and the action
>      may be requested again.  The sender should return to the beginning
>      of the command sequence (if any)."
> 
> So it looks to me like we're correct in assuming that none of the
> recipients of that chunk got the message.  If Exim is doing partial
> deliveries and still returning 451, that doesn't seem right.
     
Here's what exim does:
220 mail2.merlins.org ESMTP Exim 4.01 #1 Tue, 16 Apr 2002 16:03:46 -0700 - mm1
helo foo   
250 mail2.merlins.org Hello root at moremagic.merlins.org [204.80.101.251]
mail from: nobody@merlins.org
250 OK
rcpt to: nobody@uu.net
250 Accepted
rcpt to: champney@scruznet.com
451 Temporary local problem - please try later

Indeed this *shouldn't*  have caused mailman to loop, but  it sure did. Then
I'm afraid the only explanation that comes  to mind is that it delivered one
block, got a 451  on the next one, and the previous  block didn't get marked
as delivered, and mailman delivers it again to people who already got it
(I know, I got 12 copies in my mailbox before I was able to stop it)

Actually I checked  closer, and my system  is setup to use  VERP, so mailman
would only have issued one RCPT per message, or blocks of 1 receipient.

Ok, so my exim logs show:
2002-04-15 05:43:31 16x5pS-0004XH-00 => keskydee <keskydee@lists.merlins.org> F=
<jean-luc@maisiere.com> R=mm21_main_director T=mm21_transport S=2850
2002-04-15 05:43:34 16x5pW-0004RZ-00 <= keskydee-bounces+jean-luc=maisiere.com@m
erlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:49371 I=[127.0.0.1]:2
5 U=mailman P=esmtp S=1350 id=mailman.9.1018874612.25713.keskydee@lists.merlins.
org T="Your message to Keskydee awaits moderator approval" from <keskydee-bounce
s+jean-luc=maisiere.com@lists.merlins.org> for jean-luc@maisiere.com

(I'm still sleeping, wake up, approve the message, and it starts gettting sent)

2002-04-15 08:06:03 16x83P-0001tW-00 <= keskydee-bounces+sylvie=stanfordalumni.o
rg@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 I=[127.0.0.
1]:25 U=mailman P=esmtp S=3893 id=200204151259.OAA09104@serv5.sc3m.net T="[Kesky
dee] recherche collaboration" from <keskydee-bounces+sylvie=stanfordalumni.org@l
ists.merlins.org> for sylvie@stanfordalumni.org
2002-04-15 08:06:05 16x83P-0001tW-00 => sylvie@stanfordalumni.org F=<keskydee-bo
unces+sylvie=stanfordalumni.org@merlins.org> R=lookuphost T=remote_smtp S=4009 H
=mx.usa.net [165.212.65.113] C="250 Mail accepted (240gDoPFv0045M01)"
2002-04-15 08:06:05 16x83P-0001tW-00 Completed
2002-04-15 08:06:09 H=localhost (moremagic.merlins.org) [127.0.0.1]:46865 (mailm
an) F=<keskydee-bounces+loic_fabro=notesetc.com@merlins.org> temporarily rejecte
d RCPT <Loic_Fabro@notesetc.com>: host lookup did not complete

Ahah, first 4xx

2002-04-15 08:06:09 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:46865 closed by QUIT
mailman bails right after that.

2002-04-15 08:06:10 SMTP connection from localhost [127.0.0.1]:41158 (TCP/IP con
nection count = 1)
and comes back

delivers some other messages
and gets another 4xx

2002-04-15 08:06:29 H=localhost (moremagic.merlins.org) [127.0.0.1]:41158 (mailm
an) F=<keskydee-bounces+champney=scruznet.com@merlins.org> temporarily rejected 
RCPT <champney@scruznet.com>: host lookup did not complete
2002-04-15 08:06:29 SMTP connection from localhost (moremagic.merlins.org) [127.
0.0.1]:41158 closed by QUIT
2002-04-15 08:06:29 SMTP connection from localhost [127.0.0.1]:60022 (TCP/IP con
nection count = 1)

delivers to more people, and then to me

2002-04-15 08:07:56 16x85E-00058R-00 <= keskydee-bounces+marc=merlins.org@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:42096 I=[127.0.0.1]:25 U=mailman P=esmtp S=3866 id=200204151259.OAA09104@serv5.sc3m.net T="[Keskydee] recherche collaboration" from <keskydee-bounces+marc=merlins.org@lists.merlins.org> for marc<at>merlins.org

Unfortunately, since there are 200+ members, I can't give you a sweet 10 lines of logs with the obvious problem, but I can show you this:

2002-04-15 08:14:27 16x8BX-0005WU-00 <= keskydee-bounces+marc=merlins.org@merlins.org H=localhost (moremagic.merlins.org) [127.0.0.1]:57729 I=[127.0.0.1]:25 U=mailman P=esmtp S=3866 id=200204151259.OAA09104@serv5.sc3m.net T="[Keskydee] recherche collaboration" from <keskydee-bounces+marc=merlins.org@lists.merlins.org> for marc<at>merlins.org

The same message gets sent back to me again, and again every 10-15mn until I
manually yanked the message from the spool.

I know you'd rather have the line of code that does the bad thing, or even a
patch, but I can at least tell  you that something is amiss. My first report
just wasn't good because I didn't research the failure deeply enough.
     
Marc
-- 
Microsoft is to operating systems & security ....
                                      .... what McDonalds is to gourmet cooking
  
Home page: http://marc.merlins.org/   |   Finger marc_f@merlins.org for PGP key