FAQ
hi

mailman just started to behave strangely. i have a couple (20-30) lists, and
one or two started to 'now work' all of a sudden. mail sent to that list
disappears.
i looked in /var/log/mailman/error, and there i found these errors:

May 27 12:02:42 2006 (10050) Uncaught runner exception: unpack list of wrong size
May 27 12:02:42 2006 (10050) Traceback (most recent call last):
File "/var/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
self._onefile(msg, msgdata)
File "/var/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
keepqueued = self._dispose(mlist, msg, msgdata)
File "/var/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
more = self._dopipeline(mlist, msg, msgdata, pipeline)
File "/var/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline
sys.modules[modname].process(mlist, msg, msgdata)
File "/var/mailman/Mailman/Handlers/ToDigest.py", line 91, in process
send_digests(mlist, mboxfp)
File "/var/mailman/Mailman/Handlers/ToDigest.py", line 132, in send_digests
send_i18n_digests(mlist, mboxfp)
File "/var/mailman/Mailman/Handlers/ToDigest.py", line 306, in
send_i18n_digests
msg = scrubber(mlist, msg)
File "/var/mailman/Mailman/Handlers/Scrubber.py", line 240, in process
url = save_attachment(mlist, part, dir)
File "/var/mailman/Mailman/Handlers/Scrubber.py", line 359, in save_attachment
fnext = os.path.splitext(msg.get_filename(''))[1]
File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
725, in get_filename
File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
608, in get_param
File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
555, in _get_params_preserve
File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Utils.py", line
337, in decode_params
File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Utils.py", line
284, in decode_rfc2231
ValueError: unpack list of wrong size

May 27 12:02:42 2006 (10050) SHUNTING:
1148720560.9632571+35d167125b7f3e005510df99b4728c1c6452c257

i have no idea what this means. i sent a couple of emails to this list, and
to others lists on the same mailman, from the same email client (firefox),
through the same server (postfix), and this particular list always gives this
error.

somebody got a hint to what to do? until yesterday, everything was ok. i
don't see any strange updates, or modifications in the packages.

[root at mail mailman]# rpm -qa | grep mailman
mailman-2.1.5-10.fc2

[root at mail mailman]# rpm -qa |grep ^python
python-devel-2.3.3-6
python-2.3.3-6

Search Discussions

  • Mark Sapiro at May 27, 2006 at 2:24 pm

    Imre Gergely wrote:
    mailman just started to behave strangely. i have a couple (20-30) lists, and
    one or two started to 'now work' all of a sudden. mail sent to that list
    disappears.
    i looked in /var/log/mailman/error, and there i found these errors:

    May 27 12:02:42 2006 (10050) Uncaught runner exception: unpack list of wrong size
    May 27 12:02:42 2006 (10050) Traceback (most recent call last):
    File "/var/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
    self._onefile(msg, msgdata)
    File "/var/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
    keepqueued = self._dispose(mlist, msg, msgdata)
    File "/var/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
    more = self._dopipeline(mlist, msg, msgdata, pipeline)
    File "/var/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline
    sys.modules[modname].process(mlist, msg, msgdata)
    File "/var/mailman/Mailman/Handlers/ToDigest.py", line 91, in process
    send_digests(mlist, mboxfp)
    File "/var/mailman/Mailman/Handlers/ToDigest.py", line 132, in send_digests
    send_i18n_digests(mlist, mboxfp)
    File "/var/mailman/Mailman/Handlers/ToDigest.py", line 306, in
    send_i18n_digests
    msg = scrubber(mlist, msg)
    File "/var/mailman/Mailman/Handlers/Scrubber.py", line 240, in process
    url = save_attachment(mlist, part, dir)
    File "/var/mailman/Mailman/Handlers/Scrubber.py", line 359, in save_attachment
    fnext = os.path.splitext(msg.get_filename(''))[1]
    File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
    725, in get_filename
    File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
    608, in get_param
    File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Message.py", line
    555, in _get_params_preserve
    File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Utils.py", line
    337, in decode_params
    File "/var/tmp/mailman-root/var/mailman/pythonlib/email/Utils.py", line
    284, in decode_rfc2231
    ValueError: unpack list of wrong size

    May 27 12:02:42 2006 (10050) SHUNTING:
    1148720560.9632571+35d167125b7f3e005510df99b4728c1c6452c257

    i have no idea what this means. i sent a couple of emails to this list, and
    to others lists on the same mailman, from the same email client (firefox),
    through the same server (postfix), and this particular list always gives this
    error.

    There is a malformed message - something wrong with an attachment
    filename - in lists/<listname>/digest.mbox for the offending list.

    See
    <http://mail.python.org/pipermail/mailman-users/2006-May/051147.html>
    where the actual message problem is different, but the solution is the
    same.

    --
    Mark Sapiro <msapiro at value.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Mark Sapiro at May 27, 2006 at 2:41 pm

    Mark Sapiro wrote:
    There is a malformed message - something wrong with an attachment
    filename - in lists/<listname>/digest.mbox for the offending list.

    See
    <http://mail.python.org/pipermail/mailman-users/2006-May/051147.html>
    where the actual message problem is different, but the solution is the
    same.

    BTW, I don't think it is mentioned in the above thread, but after
    fixing the problem in digest.mbox, you can run bin/unshunt to
    reprocess the shunted messages, but before doing that, look at all the
    messages in the shunt queue (qfiles/shunt/*) with bin/show_qfiles or
    bin/dumpdb, to make sure there aren't old, no longer wanted messages
    there. If there are unwanted messages in the shunt queue, just remove
    the unwanted files before running bin/unshunt.

    --
    Mark Sapiro <msapiro at value.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Imre Gergely at May 27, 2006 at 5:44 pm

    Mark Sapiro wrote:
    Mark Sapiro wrote:
    There is a malformed message - something wrong with an attachment
    filename - in lists/<listname>/digest.mbox for the offending list.

    See
    <http://mail.python.org/pipermail/mailman-users/2006-May/051147.html>
    where the actual message problem is different, but the solution is the
    same.

    BTW, I don't think it is mentioned in the above thread, but after
    fixing the problem in digest.mbox, you can run bin/unshunt to
    reprocess the shunted messages, but before doing that, look at all the
    messages in the shunt queue (qfiles/shunt/*) with bin/show_qfiles or
    bin/dumpdb, to make sure there aren't old, no longer wanted messages
    there. If there are unwanted messages in the shunt queue, just remove
    the unwanted files before running bin/unshunt.
    it was kinda urgent, that's why i tried on the list first. after that i did
    some search and found the solution, exactly what you said.
    thx a lot for the help tho.

    after solving this, i figured, on my lists nobody ever uses digest mode, so i
    just disabled it on all lists, then deleted digest.mbox. i guess with this
    setup, if a list gets a broken message which mailman can't handle, it will be
    shunted and that's it, the rest of the list and messages won't be affected,
    am i right?

    and what happens with the archiving? the message gets archived before, or
    after a successful delivery? in another words, is there a chance that a
    broken message will be archived?
  • Mark Sapiro at May 27, 2006 at 7:03 pm

    Imre Gergely wrote:
    after solving this, i figured, on my lists nobody ever uses digest mode, so i
    just disabled it on all lists, then deleted digest.mbox. i guess with this
    setup, if a list gets a broken message which mailman can't handle, it will be
    shunted and that's it, the rest of the list and messages won't be affected,
    am i right?

    Yes.

    and what happens with the archiving? the message gets archived before, or
    after a successful delivery? in another words, is there a chance that a
    broken message will be archived?

    Most of these problems that stop a list involve the digest.mbox. What
    happens is digest.mbox contains a message that throws an exception in
    Scrubber. When digest.mbox reaches digest_size_threshold, we try to
    create both a MIME and plain text digest and finally generate the
    recipient list for each digest and queue it to be sent.

    If Scrubber (which is invoked to flatten the message for the plain
    digest) throws an exception in this process, pre Mailman 2.1.7 this
    caused the message to be shunted and the list would effectively stop
    as this all occurs before archiving and regular delivery, and the
    whole thing repeats with each new message.

    By setting the list digestable to No, digest processing is skipped so
    the problem doesn't occur.

    In Mailman 2.1.7 and later, all exceptions, even unanticipated ones, in
    the send_digests process are caught and logged as an error, so list
    processing other than sending of digests doesn't stop.

    As far as archiving is concerned, Scrubber will also be invoked on the
    broken message in order to flatten it for the archive. It will throw
    some exception which will be caught in ArchRunner and the message will
    be shunted, but in this case, it only affects the one message and only
    the archive, not delivery.

    --
    Mark Sapiro <msapiro at value.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan
  • Mark Sapiro at May 27, 2006 at 7:30 pm

    Mark Sapiro wrote:
    If Scrubber (which is invoked to flatten the message for the plain
    digest) throws an exception in this process, pre Mailman 2.1.7 this
    caused the message to be shunted and the list would effectively stop
    as this all occurs before archiving and regular delivery, and the
    whole thing repeats with each new message.
    Just a clarification. The shunted message in the above case is not the
    'problem' message. It is the current message which triggers the
    digest, and since the digest isn't produced and digest.mbox isn't
    removed, each subsequent message does the same thing and is also
    shunted.

    The original 'problem' message was possibly shunted in processing it
    for the archive, but it was most likely delivered to the list before
    the list 'shut down'.

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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmailman-users @
categoriespython
postedMay 27, '06 at 9:14a
activeMay 27, '06 at 7:30p
posts6
users2
websitelist.org

2 users in discussion

Mark Sapiro: 4 posts Imre Gergely: 2 posts

People

Translate

site design / logo © 2022 Grokbase