Mailman/Mailman2/Mailman encoding bug
Appearance
Two messages in mediawiki-l archives from February 2006 triggered this exciting error when rebuilding archives with 'wipe':
Updating HTML for article 5494 Pickling archive state into /usr/local/mailman/archives/private/mediawiki-l/pipermail.pck Traceback (most recent call last): File "bin/arch", line 200, in ? main() File "bin/arch", line 188, in main archiver.processUnixMailbox(fp, start, end) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 585, in processUnixMailbox self.add_article(a) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 626, in add_article filename)) File "/usr/local/mailman/Mailman/Archiver/HyperArch.py", line 1116, in write_article f.write(article.as_text()) File "/usr/local/mailman/Mailman/Archiver/HyperArch.py", line 579, in as_text '\g<1>' + _(' at ') + '\g<2>', body) File "/usr/local/python2.4/lib/python2.4/sre.py", line 142, in sub return _compile(pattern, 0).sub(repl, string, count) UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 68: ordinal not in range(128)
As a workaround, I added this hack to skip over the affected items:
--- /usr/local/mailman/Mailman/Archiver/HyperArch.py.orig 2006-03-31 18:11:26.000000000 +0000 +++ /usr/local/mailman/Mailman/Archiver/HyperArch.py 2006-03-31 18:24:56.000000000 +0000 @@ -575,8 +575,11 @@ otrans = i18n.get_translation() try: i18n.set_language(self._lang) - body = re.sub(r'([-+,.\w]+)@([-+.\w]+)', - '\g<1>' + _(' at ') + '\g<2>', body) + try: + body = re.sub(r'([-+,.\w]+)@([-+.\w]+)', + '\g<1>' + _(' at ') + '\g<2>', body) + except UnicodeDecodeError: + body = 'Mailman has a bug and Unicode decoding broke here.' finally: i18n.set_translation(otrans) return NL.join(headers) % d + '\n\n' + body + '\n'