[Mailman-Users] Involuntary attachment archiving bug

Christian Balzer chibi at gol.com
Thu Jul 29 05:24:07 CEST 2004


Versions first, this is Debian Sarge, so mailman 2.1.4-5 and 
python 2.3.4-1. And I'm perfectly fine to take this up with the
Debian package maintainer, but I believe this to be not entirely
distribution specific.

2 days ago a mailing list here stopped working while all other
lists on the same server continued to work. All new mails to
it wound up in qfiles/shunt and a typical error.log entry looked
like this:
Jul 28 16:06:58 2004 (27374) SHUNTING: 1090998399.1266079+7ffb6a7f9ae96f08b57292134da84fc995792442
Jul 28 16:10:07 2004 (27374) Uncaught runner exception: [Errno 36] File name too long: '/var/lib/mailman/archives/private/abuse/attachments/20040727/f9525c89/iso-2022-jpBSRskQicwGyhCNSAtIDVJIC0gODYgLSAbJEInISdfJ1QnXSdaJ20bKEIiso-2022-jpBGyRCJ2MnXCdaJ1sbKEIgGyRCJ2MbKEIgGyRCJ2EnYidWJ2EnYCdVGyhCiso-2022-jpBGyRCJ1EnUydRJ2QnViddJ3EnXidaGyhCIBskQidaGyhCiso-2022-jpBGyRCJ1kbKEIgGyRCJzMbKEIgGyRCJzobKEIgGyRCJyEbKEIuZW1s.mht'
Jul 28 16:10:07 2004 (27374) Traceback (most recent call last):
  File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 110, in _oneloop
    self._onefile(msg, msgdata)
  File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 160, in _onefile
    keepqueued = self._dispose(mlist, msg, msgdata)
  File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
    more = self._dopipeline(mlist, msg, msgdata, pipeline)
  File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline
    sys.modules[modname].process(mlist, msg, msgdata)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 91, in process
    send_digests(mlist, mboxfp)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 132, in send_digests
    send_i18n_digests(mlist, mboxfp)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 306, in send_i18n_digests
    msg = scrubber(mlist, msg)
  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 240, in process
    url = save_attachment(mlist, part, dir)
  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 447, in save_attachment
    fp = open(path, 'w')
IOError: [Errno 36] File name too long: '/var/lib/mailman/archives/private/abuse/attachments/20040727/f9525c89/iso-2022-jpBSRskQicwGyhCNSAtIDVJIC0gODYgLSAbJEInISdfJ1QnXSdaJ20bKEIiso-2022-jpBGyRCJ2MnXCdaJ1sbKEIgGyRCJ2MbKEIgGyRCJ2EnYidWJ2EnYCdVGyhCiso-2022-jpBGyRCJ1EnUydRJ2QnViddJ3EnXidaGyhCIBskQidaGyhCiso-2022-jpBGyRCJ1kbKEIgGyRCJzMbKEIgGyRCJzobKEIgGyRCJyEbKEIuZW1s.mht'

Note that:
a) archiving is turned off for list.
b) it rejected ALL mails like this, no matter if they actually had
   attachments or not.

An unshunt of course did not fix things and in the end I "fixed" 
things the M$ way by blowing away the original list and re-creating it.
After that the unshunt worked and new mails did get through fine, too.
Alas it's still archiving (just) attachments, so I can foresee this
happening again...

So my question is:

What the heck is causing it to archive those attachments in the first 
place? I don't want this stuff archived, esp. not considering it
might trigger the above bug again.

Of course somebody who understands the code might also want to take
a look what caused it to create these oversized filenames (again,
even for mails w/o attachments), since some lists do use archiving here.
A guess would be something in a .db or .pck of that list did overflow,
it sees a LOT of traffic (1000 mails/day).


Christian Balzer
Christian Balzer        Network/Systems Engineer                NOC
chibi at gol.com   	Global OnLine Japan/Fusion Network Services

More information about the Mailman-Users mailing list