[Mailman-Users] sendgiest cron job failure

Mark Sapiro msapiro at value.net
Fri Jun 15 23:32:55 CEST 2007


Mark Sapiro wrote:

>Xueshan Feng wrote:
>>
>>The digest error messages are two types:
>>
>>
>>1. Traceback (most recent call last):
>>  File "./senddigests", line 95, in ?
>>    main()
>>  File "./senddigests", line 87, in main
>>    mlist.send_digest_now()
>>  File "/var/lib/mailman/Mailman/Digester.py", line 60, in
>>send_digest_now
>>    ToDigest.send_digests(self, mboxfp)
>>  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 142, in
>>send_digest
>>s
>>    send_i18n_digests(mlist, mboxfp)
>>  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 324, in
>>send_i18n_d
>>igests
>>    msg = scrubber(mlist, msg)
>>  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 372, in
>>process
>>    t = unicode(t, partcharset, 'replace')
>>TypeError: coercing to Unicode: need string or buffer, NoneType found
>
>
>Possibly a message with an empty sub-part. This is something we should
>check in Scrubber.


Actually, it turns out that this was a delivery status notification
returned to the list. The Python email package handles
message/delivery-status parts in a speial way which results in part
payloads of None.


>>2.Traceback (most recent call last):
>>  File "./senddigests", line 95, in ?
>>    main()
>>  File "./senddigests", line 87, in main
>>    mlist.send_digest_now()
>>  File "/var/lib/mailman/Mailman/Digester.py", line 60, in
>>send_digest_now
>>    ToDigest.send_digests(self, mboxfp)
>>  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 142, in
>>send_digests
>>    send_i18n_digests(mlist, mboxfp)
>>  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 324, in
>>send_i18n_digests
>>    msg = scrubber(mlist, msg)
>>  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 306, in
>>process
>>    url = save_attachment(mlist, part, dir)
>>  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 483, in
>>save_attachment
>>    if os.path.exists(path):
>>  File "/usr/lib/python2.3/posixpath.py", line 174, in exists
>>    st = os.stat(path)
>>TypeError: stat() argument 1 must be (encoded string without NULL
>>bytes), not str


And this was a message with an improprly encoded RFC 2047 filename
parameter which had a trailing null byte.

Both of these issues are fixed by the attached Scrubber.patch.txt patch
to Mailman/Handlers/Scrubber.py.

-- 
Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Scrubber.patch.txt
Url: http://mail.python.org/pipermail/mailman-users/attachments/20070615/feefde5f/attachment.txt 


More information about the Mailman-Users mailing list