[Mailman-Users] Mailman no longer working or working very slowly
Mark Sapiro
mark at msapiro.net
Thu Feb 18 03:03:25 CET 2010
Steven Jones wrote:
>While looking at the shunt queue I see a all pcks at a certain time (Feb 17 20:21) I have looked at so far have this as a content, instead of normal content.
>
>============
>[root at vuwunicosmtp004 shunt]# /var/mailman/bin/show_qfiles 1197321907.8858631+471a68770096868aa8540e5bf8bc643da86ac63d.pck|moreTraceback (most recent call last):
> File "/var/mailman/bin/show_qfiles", line 74, in ?
>====================> 1197321907.8858631+471a68770096868aa8540e5bf8bc643da86ac63d.pck
> main()
> File "/var/mailman/bin/show_qfiles", line 67, in main
> sys.stdout.write(msg.as_string())
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Message.py", line 130, in as_string
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 102, in flatten
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 130, in _write
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 156, in _dispatch
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 230, in _handle_multipart
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 102, in flatten
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 130, in _write
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 156, in _dispatch
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 297, in _handle_message
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 102, in flatten
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 130, in _write
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 156, in _dispatch
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 230, in _handle_multipart
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 102, in flatten
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 130, in _write
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 156, in _dispatch
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 277, in _handle_message_delivery_status
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 102, in flatten
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 130, in _write
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 156, in _dispatch
> File "/var/tmp/mailman-2.1.5.1-25.rhel3.8-root/var/mailman/pythonlib/email/Generator.py", line 274, in _handle_message_delivery_status
>TypeError: iteration over non-sequence
That's not the content of the shunt queue entry, it is the traceback
from the exception that show_qfiles throws when it attempts to display
the message because the message is malformed.
What happens with bin/dumpdb instead of bin/show_qfiles?
Here's a withlist script you can try:
------------------------------------------------------------------
import os
import copy
from Mailman import mm_cfg
from Mailman.Mailbox import Mailbox
def find_bad(mlist):
fn = os.path.join(mm_cfg.VAR_PREFIX,
'lists',
mlist.internal_name(),
'digest.mbox'
)
try:
mbox = Mailbox(open(fn))
except IOError:
return
msg = mbox.next()
msgno = 1
while msg is not None:
if msg == '':
# It was an unparseable message
print '------------------------------'
print 'Message %i: Unparseable' % msgno
print '------------------------------'
msg = mbox.next()
msgno += 1
continue
print '------------------------------'
print 'Message %i:' % msgno
print 'Subject: %s' % msg['subject']
print 'From: %s' % msg['from']
try:
z = copy.deepcopy(msg)
except RuntimeError:
print 'Bad One!'
print '------------------------------'
msgno += 1
msg = mbox.next()
------------------------------------------------------------------
If you save that in Mailman's bin/ directory as bin/find_bad.py, then
you can run the following:
bin/withlist -r find_bad -a
It will check every digest.mbox and print the sequence number, Subject:
and From: of every message and try to do a deepcopy of the message ad
print "Bad One!" if it throws an exception.
--
Mark Sapiro <mark at msapiro.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