Uncaught runner exception

I have a problem with one of my lists. I have 4 lists, and 3 seem to be working fine. The fourth one worked fine for the first couple of weeks, but then started having problems. No changes were made to the configuration during that time. The problem is this: mail will not go out to any of the users.
This list was configured to have only one recipient and allow anyone to post to it (sort of a spam catcher). I've checked everything in the most applicable FAQ (http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.014.htp). In the error log, I keep getting "Uncaught runner exception: len() of unsized object" (the full log entry with Traceback is at the bottom of the email).
I am running Mailman 2.1.4 installed from source on Solaris 6 with sendmail.
Any help, information, suggestions would be greatly appreciated.
==== ERROR LOG ===== Jun 06 15:10:09 2005 (27089) Uncaught runner exception: len() of unsized object Jun 06 15:10:09 2005 (27089) Traceback (most recent call last): File "/usr/local/mailman-2.1.4/Mailman/Queue/Runner.py", line 110, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Queue/Runner.py", line 160, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Queue/IncomingRunner.py", line 130, in _dispose more = self._dopipeline(mlist, msg, msgdata, pipeline) File "/usr/local/mailman-2.1.4/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline sys.modules[modname].process(mlist, msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 91, in process send_digests(mlist, mboxfp) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 132, in send_digests send_i18n_digests(mlist, mboxfp) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 306, in send_i18n_digests msg = scrubber(mlist, msg) File "/usr/local/mailman-2.1.4/Mailman/Handlers/Scrubber.py", line 262, in process size = len(payload) TypeError: len() of unsized object
Jun 06 15:10:09 2005 (27089) SHUNTING: 1118084879.080544+37fc5a2467c00ef900e9933a77c481ec4aa67de3 ==== END ERROR LOG =====
Duncan

Salada, Duncan S.wrote:
I have a problem with one of my lists. I have 4 lists, and 3 seem to be working fine. The fourth one worked fine for the first couple of weeks, but then started having problems. No changes were made to the configuration during that time. The problem is this: mail will not go out to any of the users.
This list was configured to have only one recipient and allow anyone to post to it (sort of a spam catcher). I've checked everything in the most applicable FAQ (http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.014.htp). In the error log, I keep getting "Uncaught runner exception: len() of unsized object" (the full log entry with Traceback is at the bottom of the email).
I am running Mailman 2.1.4 installed from source on Solaris 6 with sendmail.
Any help, information, suggestions would be greatly appreciated.
==== ERROR LOG ===== Jun 06 15:10:09 2005 (27089) Uncaught runner exception: len() of unsized object Jun 06 15:10:09 2005 (27089) Traceback (most recent call last): File "/usr/local/mailman-2.1.4/Mailman/Queue/Runner.py", line 110, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Queue/Runner.py", line 160, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Queue/IncomingRunner.py", line 130, in _dispose more = self._dopipeline(mlist, msg, msgdata, pipeline) File "/usr/local/mailman-2.1.4/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline sys.modules[modname].process(mlist, msg, msgdata) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 91, in process send_digests(mlist, mboxfp) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 132, in send_digests send_i18n_digests(mlist, mboxfp) File "/usr/local/mailman-2.1.4/Mailman/Handlers/ToDigest.py", line 306, in send_i18n_digests msg = scrubber(mlist, msg) File "/usr/local/mailman-2.1.4/Mailman/Handlers/Scrubber.py", line 262, in process size = len(payload) TypeError: len() of unsized object
Jun 06 15:10:09 2005 (27089) SHUNTING: 1118084879.080544+37fc5a2467c00ef900e9933a77c481ec4aa67de3 ==== END ERROR LOG =====
The error is because of a badly formed mime multipart message. The Mailman 2.1.6 version of Scrubber.py contains the following insert before the ' size = len(payload)'.
# XXX Under email 2.5, it is possible that payload will be None.
# This can happen when you have a Content-Type: multipart/* with
# only one part and that part has two blank lines between the
# first boundary and the end boundary. In email 3.0 you end up
# with a string in the payload. I think in this case it's safe to
# ignore the part.
if payload is None:
continue
size = len(payload)
The reference to email 2.5 is the Python library email module.
These errors put the message in the shunt queue (qfiles/shunt/). Presumably the message or some residue of it is still elsewhere, probably in lists/<listname>/digest.mbox, causing this error to occur for each new message.
You could install the above code in Scrubber.py. If so, be careful - the above isn't indented the right amount and indentation counts.
Otherwise, you could try to identify the bad message in the shunt queue and delete it and also edit digests.mbox to remove it from there too. Then you can probably run bin/unshunt and be OK, or if you just want to get things started again without worrying about lost messages, you can just remove the digests.mbox and delete the messages from the shunt queue.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Mark Sapiro
-
Salada, Duncan S.