Menu

#768 LookupError: unknown encoding: X-UNKNOWN

2.1 (stable)
open
nobody
5
2003-09-10
2003-09-10
No

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

Discussion

  • Anonymous

    Anonymous - 2003-10-08

    Logged In: YES
    user_id=768522

    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

     
  • Gregor Maier

    Gregor Maier - 2004-04-26

    Logged In: YES
    user_id=38025

    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

     
  • Anonymous

    Anonymous - 2004-04-26

    Logged In: YES
    user_id=768522

    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')

     

Log in to post a comment.