[Mailman-Developers] Mix of 8-bit ascii and unicode in Archive marshals
Mads Kiilerich
mads at kiilerich.com
Mon Feb 20 00:39:05 CET 2006
Hi,
I just upgraded from 2.1.5 to 2.1.7, using a Fedora beta rpm.
http://sourceforge.net/tracker/index.php?func=detail&aid=1405790&group_id=103&atid=300103
has been applied.
Now I see crashes in Archiver like shown below. My problem is similar to
but different from
http://archives.free.net.ph/message/20060116.022354.167a1fae.en.html
It turns out to be because both 8-bit ascii and unicode strings appears
as first element in key tuples in the 2006-February-author marshal. When
sort tries to compare these unrelated encodings python don't know what
to do. Neither do I...
How should the problem be solved? Should keys be stored as 8-bit ascii
or as unicode?
If anybody can give a hint I'll try to come up with a solution ;-)
/Mads
Feb 18 17:57:44 2006 (29051) Uncaught runner exception: 'ascii' codec
can't decode byte 0xe5 in position 1: ordinal not in range(128)
Feb 18 17:57:44 2006 (29051) 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/ArchRunner.py", line 73, in _dispose
mlist.ArchiveMail(msg)
File "/usr/lib/mailman/Mailman/Archiver/Archiver.py", line 217, in
ArchiveMail
h.close()
File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 327, in close
self.update_dirty_archives()
File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 543, in
update_dirty_archives
self.update_archive(i)
File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 1125, in
update_archive
self.__super_update_archive(archive)
File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 447, in
update_archive
self._update_simple_index(hdr, archive, arcdir)
File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 460, in
_update_simple_index
msgid = self.database.first(archive, hdr)
File "/usr/lib/mailman/Mailman/Archiver/HyperDatabase.py", line 296,
in first
key, msgid = index.first()
File "/usr/lib/mailman/Mailman/Archiver/HyperDatabase.py", line 113,
in first
self.__sort() # guarantee that the list is sorted
File "/usr/lib/mailman/Mailman/Archiver/HyperDatabase.py", line 73,
in __sort
self.sorted.sort()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1:
ordinal not in range(128)
Feb 18 17:57:44 2006 (29051) SHUNTING:
1140281864.286916+117720f8b561f5c15f1f799c2dd1fce5881078cb
More information about the Mailman-Developers
mailing list