Hi, I encountered a subtil problem when a component logs unicode strings (present case was the hyperkitty archiver) : (py27)mailman@mail:~$ Traceback (most recent call last): File "/home/mailman/mailman/src/mailman/core/logging.py", line 76, in emit msg = self.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 723, in format return fmt.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 464, in format record.message = record.getMessage() File "/usr/lib/python2.7/logging/__init__.py", line 328, in getMessage msg = msg % self.args UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 21: ordinal not in range(128) Logged from file runner.py, line 261 Traceback (most recent call last): File "/home/mailman/mailman/src/mailman/core/logging.py", line 76, in emit msg = self.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 723, in format return fmt.format(record) File "/usr/lib/python2.7/logging/__init__.py", line 464, in format record.message = record.getMessage() File "/usr/lib/python2.7/logging/__init__.py", line 328, in getMessage msg = msg % self.args UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2982: ordinal not in range(128) Logged from file runner.py, line 264 then found how to fix it : === modified file 'src/mailman/core/runner.py' --- src/mailman/core/runner.py 2013-12-01 13:28:49 +0000 +++ src/mailman/core/runner.py 2013-12-03 10:47:56 +0000 @@ -258,10 +258,10 @@ self.switchboard.enqueue(msg, msgdata) def _log(self, exc): - elog.error('Uncaught runner exception: %s', exc) + elog.error(b'Uncaught runner exception: %s', exc) s = StringIO() traceback.print_exc(file=s) - elog.error('%s', s.getvalue()) + elog.error(b'%s', s.getvalue()) def _clean_up(self): """See `IRunner`.""" unless it can be considered as a problem in the component itself... But (personal thought) mailman's stability may not depend of third party components... I can propose a merge for it if it's revelant (just have to go deeper into lp/bzr) Cheers Nico