LookupError: unknown encoding: X-UNKNOWN

Bug #265962 reported by Nemethe
2
Affects Status Importance Assigned to Milestone
GNU Mailman
New
Medium
Unassigned

Bug Description

Our site encounters the following problem.
mailman-2.1.2 installed from OpenBSD ports.

Traceback (most recent call last):
  File "/usr/local/mailman/cron/senddigests", line 94, in ?
    main()
  File "/usr/local/mailman/cron/senddigests", line 86,
in main
    mlist.send_digest_now()
  File "/usr/local/mailman/Mailman/Digester.py", line
60, in send_digest_now
    ToDigest.send_digests(self, mboxfp)
  File
"/usr/local/mailman/Mailman/Handlers/ToDigest.py", line
130, in send_digests
    send_i18n_digests(mlist, mboxfp)
  File
"/usr/local/mailman/Mailman/Handlers/ToDigest.py", line
303, in send_i18n_digests
    msg = scrubber(mlist, msg)
  File
"/usr/local/mailman/Mailman/Handlers/Scrubber.py", line
257, in process
    url = save_attachment(mlist, part, dir)
  File
"/usr/local/mailman/Mailman/Handlers/Scrubber.py", line
348, in save_attachment
    fnext = os.path.splitext(msg.get_filename(''))[1]
  File "/usr/local/mailman/pythonlib/email/Message.py",
line 707, in get_filename
    return unicode(newvalue[2], newvalue[0])
LookupError: unknown encoding: X-UNKNOWN

[http://sourceforge.net/tracker/index.php?func=detail&aid=803729&group_id=103&atid=100103]

Revision history for this message
Nemethe (nemethe) wrote :

It's quite unpleasant to recieve this mail daily. In
addition there was a local mailing list to which no mail was
delivered until digests to this list was turned off.

Last day I have upgraded to mailman 2.1.3 and the last lines
of the traceback changed:

  File "/usr/local/mailman/pythonlib/email/Message.py", line
714, in get_filename
    return unicode(newvalue[2], newvalue[0] or 'us-ascii')
LookupError: unknown encoding: X-UNKNOWN

Revision history for this message
Maiergre (maiergre) wrote :

Hello,

I have the same problem with mailmain-2.1.4 with
python-2.3.3 under linux gentoo. Are there any clues where
the problem lies or any workarounds? Disableing the digest
option works but is not really a solution.
Another interesting fact is, that the only some lists show
this problem and that the prolbem just "occurs" and then it
doesn't go away..

Here's a part of my error log:
Apr 26 18:27:05 2004 (17449) Uncaught runner exception:
unknown encoding: X-UNKNOWN
Apr 26 18:27:05 2004 (17449) Traceback (most recent call last):
  File "/usr/local/mailman/Mailman/Queue/Runner.py", line
110, in _oneloop
    self._onefile(msg, msgdata)
  File "/usr/local/mailman/Mailman/Queue/Runner.py", line
160, in _onefile
    keepqueued = self._dispose(mlist, msg, msgdata)
  File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py",
line 130, in _dispose
    more = self._dopipeline(mlist, msg, msgdata, pipeline)
  File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py",
line 153, in _dopipeline
    sys.modules[modname].process(mlist, msg, msgdata)
  File "/usr/local/mailman/Mailman/Handlers/ToDigest.py",
line 91, in process
    send_digests(mlist, mboxfp)
  File "/usr/local/mailman/Mailman/Handlers/ToDigest.py",
line 132, in send_digests
    send_i18n_digests(mlist, mboxfp)
  File "/usr/local/mailman/Mailman/Handlers/ToDigest.py",
line 306, in send_i18n_digests
    msg = scrubber(mlist, msg)
  File "/usr/local/mailman/Mailman/Handlers/Scrubber.py",
line 265, in process
    url = save_attachment(mlist, part, dir)
  File "/usr/local/mailman/Mailman/Handlers/Scrubber.py",
line 361, in save_attachment
    fnext = os.path.splitext(msg.get_filename(''))[1]
  File "/usr/local/mailman/pythonlib/email/Message.py", line
714, in get_filename
    return unicode(newvalue[2], newvalue[0] or 'us-ascii')
LookupError: unknown encoding: X-UNKNOWN

Apr 26 18:27:05 2004 (17449) SHUNTING:
1082996756.746207+e85fdb8b141ccd2a8f0757824f62fbff58
da2ce4

Revision history for this message
Nemethe (nemethe) wrote :

As far as I recognised mailman copies Message.py from the
python libraries so I also reported it for python (id 854102).

As a workaround replace the line in question:

return unicode(newvalue[2], newvalue[0] or 'us-ascii')

with

try:
  return unicode(newvalue[2], newvalue[0] or 'us-ascii')
except LookupError:
  return unicode(newvalue[2], 'us-ascii', 'replace')

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.