Comment 6 for bug 328353

Revision history for this message
Mark Sapiro (msapiro) wrote :

I think there may be an issue with the opensolaris Python 2.4.4. I received this traceback from the patched ToDigest.py from aduritz.

Mar 09 12:27:56 2009 (6235) send_digests() failed: decoding Unicode is not supported
Mar 09 12:27:56 2009 qrunner(6235): Traceback (most recent call last):
Mar 09 12:27:56 2009 qrunner(6235): File "/usr/local/mailman/Mailman/Handlers/ToDigest.py", line 98, in process
Mar 09 12:27:56 2009 qrunner(6235): send_digests(mlist, mboxfp)
Mar 09 12:27:56 2009 qrunner(6235): File "/usr/local/mailman/Mailman/Handlers/ToDigest.py", line 144, in send_digests
Mar 09 12:27:56 2009 qrunner(6235): send_i18n_digests(mlist, mboxfp)
Mar 09 12:27:56 2009 qrunner(6235): File "/usr/local/mailman/Mailman/Handlers/ToDigest.py", line 341, in send_i18n_digests
Mar 09 12:27:56 2009 qrunner(6235): mcset = msg.get_content_charset('')
Mar 09 12:27:56 2009 qrunner(6235): File "/usr/lib/python2.4/email/Message.py", line 800, in get_content_charset
Mar 09 12:27:56 2009 qrunner(6235): charset = unicode(charset, 'us-ascii').encode('us-ascii')
Mar 09 12:27:56 2009 qrunner(6235): TypeError: decoding Unicode is not supported

Python 2.4 shipped with email 3.0.1 and the line " charset = unicode(charset, 'us-ascii').encode('us-ascii')" is not in Message.py in email 3.0.1. It is in email 2.5.8 which used to ship with Mailman, but as of Mailman 2.1.12 is no longer installed in Mailman's pythonlib, but in email 2.5.8 it is line 846 of Message.py, not line 800.

First, is there a /usr/local/mailman/pythonlib/email/ directory. If there is, move it aside or remove it and restart Mailman, as it should not be there in Mailman 2.1.12. If there was an email/ directory in /usr/local/mailman/pythonlib/, and moving it aside does not fix the problem, try the following interactive Python session

$ python
[...]
>>> import email
>>> email.__version__

to see what email version this is. It should be 3.0.1. If not, there is something wrong with the opensolaris Python install.