[Mailman-Users] unpack list of wrong size - debugging a single list

chris burgess xurizaemon at gmail.com
Fri Aug 17 06:08:26 CEST 2007


We run 159 lists for an organisation on Mailman 2.1.5 (Debian Stable).
All other lists appear to be behaving fine, but one list seems to be
having issues. This list (and others) have run fine for several years,
and I don't think

I have done as much debugging as I know how, but I can't get this one
list to behave. I've checked for oversize files, the permissions of
the config directory entries, and even restored the list config.pck
from backups to a version that was working before it stopped. But it
seems the problem isn't any of these, as it persists in gobbling any
incoming mail on that list and putting it in the shunt file.

I'd appreciate any suggestions in how to usefully debug this list from
here - it's knocked out one of our organisation's more active
discussion systems.

Here's an example of what I see in the mailman error log for any
message to this list:

---

Aug 17 15:39:16 2007 (29254) Uncaught runner exception: unpack list of
wrong size
Aug 17 15:39:16 2007 (29254) Traceback (most recent call last):
  File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
    self._onefile(msg, msgdata)
  File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
    keepqueued = self._dispose(mlist, msg, msgdata)
  File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
    more = self._dopipeline(mlist, msg, msgdata, pipeline)
  File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 153,
in _dopipeline
    sys.modules[modname].process(mlist, msg, msgdata)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 91, in process
    send_digests(mlist, mboxfp)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 132, in
send_digests
    send_i18n_digests(mlist, mboxfp)
  File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 306, in
send_i18n_digests
    msg = scrubber(mlist, msg)
  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 273, in process
    url = save_attachment(mlist, part, dir)
  File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 373, in
save_attachment
    fnext = os.path.splitext(msg.get_filename(''))[1]
  File "/usr/lib/python2.3/email/Message.py", line 725, in get_filename
    filename = self.get_param('filename', missing, 'content-disposition')
  File "/usr/lib/python2.3/email/Message.py", line 608, in get_param
    for k, v in self._get_params_preserve(failobj, header):
  File "/usr/lib/python2.3/email/Message.py", line 555, in _get_params_preserve
    params = Utils.decode_params(params)
  File "/usr/lib/python2.3/email/Utils.py", line 337, in decode_params
    charset, language, value = decode_rfc2231(EMPTYSTRING.join(value))
  File "/usr/lib/python2.3/email/Utils.py", line 284, in decode_rfc2231
    charset, language, s = parts
ValueError: unpack list of wrong size

---

This is the resulting pickle file in qfiles/shunt for the same message:

---

[----- start pickle file -----]
<----- start object 1 ----->
>From m.m at domain.com Fri Aug 17 15:39:14 2007
Received: from localhost ([127.0.0.1])
        by domain.com with smtp (Exim 4.50 #1 (Debian))
        id 1ILsfb-0007gx-Gn
        for <cc at domain.com>; Fri, 17 Aug 2007 15:39:14 +1200
From: m.m at domain.com
To: cc at domain.com
X-SA-Exim-Connect-IP: 127.0.0.1
X-SA-Exim-Mail-From: m.m at domain.com
X-SA-Exim-Scanned: No (on domain.com); SAEximRunCond expanded to false
Subject: [CC] test message
X-BeenThere: cc at domain.com
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: Campaign Committee <cc at domain.com>
List-Id: Campaign Committee <cc.domain.com>
List-Unsubscribe: <http://domain.com/cgi-bin/mailman/listinfo/cc>,
        <mailto:cc-request at domain.com?subject=unsubscribe>
List-Archive: <http://domain.com/cgi-bin/mailman/private/cc>
List-Post: <mailto:cc at domain.com>
List-Help: <mailto:cc-request at domain.com?subject=help>
List-Subscribe: <http://domain.com/cgi-bin/mailman/listinfo/cc>,
        <mailto:cc-request at domain.com?subject=subscribe>

Hi, test here


<----- start object 2 ----->
{   '_parsemsg': False,
    'lang': 'en',
    'listname': 'cc',
    'original_sender': 'm.m at domain.com',
    'origsubj': 'test message',
    'pipeline': [   'ToDigest',
                    'ToArchive',
                    'ToUsenet',
                    'AfterDelivery',
                    'Acknowledge',
                    'ToOutgoing'],
    'received_time': 1187321954.8111341,
    'recips': [   'example at domain.com' ],
    'tolist': 1,
    'version': 3,
    'whichq': '/var/lib/mailman/qfiles/in'}
[----- end pickle file -----]


More information about the Mailman-Users mailing list