[Mailman-Users] Uncaught runner exception

Salada, Duncan S. duncan.salada at titan.com
Wed Jun 8 21:17:21 CEST 2005


Thanks for the code snippet.  It worked very well.  I also appreciate the warning about the indentation.  I work mostly in Perl, so I don't generally have to worry about indentation.

I have a follow-up question.  Is there a source for information about the contents of the qfiles and logs directories?  Part of my time in dealing with this problem was spent trying to figure out how to follow the path of a message through mailman's different logs and qfile directories.

Duncan

-----------------------------------------------
Duncan Salada
Titan Corporation
301-925-3222 x375


> -----Original Message-----
> From: Mark Sapiro [mailto:msapiro at value.net]
> Sent: Monday, June 06, 2005 4:21 PM
> To: Salada, Duncan S.; mailman-users at python.org
> Subject: Re: [Mailman-Users] Uncaught runner exception
> 
> 
> 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 at value.net>       The highway is for gamblers,
> San Francisco Bay Area, California    better use your sense - B. Dylan
> 



More information about the Mailman-Users mailing list