[Mailman-Developers] Problem with runner logger with unicode
nicolas
nicolas at karageuzian.com
Tue Dec 3 12:43:46 CET 2013
Basicaly it was not hyperkitty archiver, but mailman itself (or in fact
Storm localized error message strings), cause here is the output :
Dec 03 12:37:49 2013 (23760) ACCEPT:
<CAMYTGwj+v6q+Utc2=wK_7nLOeOKc+R5CtB7pyC95fdDMQ0LNgw at mail.gmail.com>
Dec 03 12:37:50 2013 (23762) conf loaded
Dec 03 12:37:50 2013 (23762) Uncaught runner exception: ERREUR: la
relation \xc2\xab listarchiver \xc2\xbb n\'existe pas\nLINE 1:
...tarchiver.mailing_list_id, listarchiver.name FROM listarchiv...\n
^\nDec 03
12:37:50 2013 (23762) Traceback (most recent call last):\n File
"/home/mailman/mailman/src/mailman/core/runner.py", line 169, in
_one_iteration\n self._process_one_file(msg, msgdata)\n File
"/home/mailman/mailman/src/mailman/core/runner.py", line 252, in
_process_one_file\n keepqueued = self._dispose(mlist, msg, msgdata)\n
File "/home/mailman/mailman/src/mailman/runners/pipeline.py", line 36,
in _dispose\n process(mlist, msg, msgdata, pipeline)\n File
"/home/mailman/mailman/src/mailman/core/pipelines.py", line 66, in
process\n handler.process(mlist, msg, msgdata)\n File
"/home/mailman/mailman/src/mailman/handlers/rfc_2369.py", line 120, in
process\n process(mlist, msg, msgdata)\n File
"/home/mailman/mailman/src/mailman/handlers/rfc_2369.py", line 87, in
process\n archiver_set = IListArchiverSet(mlist)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/zope.component-4.1.0-py2.7.egg/zope/component/hookable.py",
line 33, in __call__\n return self.__implementation(*args, **kw)\n
File
"/home/mailman/py27/local/lib/python2.7/site-packages/zope.component-4.1.0-py2.7.egg/zope/component/_api.py",
line 156, in adapter_hook\n return sitemanager.queryAdapter(object,
interface, name, default)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/zope.interface-4.0.5-py2.7-linux-x86_64.egg/zope/interface/registry.py",
line 229, in queryAdapter\n return
self.adapters.queryAdapter(object, interface, name, default)\n File
"/home/mailman/mailman/src/mailman/model/mailinglist.py", line 590, in
__init__\n ListArchiver.name == archiver_name)).one()\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/store.py",
line 1158, in one\n result =
self._store._connection.execute(select)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/databases/postgres.py",
line 266, in execute\n return Connection.execute(self, statement,
params, noresult)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py",
line 241, in execute\n raw_cursor = self.raw_execute(statement,
params)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/databases/postgres.py",
line 276, in raw_execute\n return Connection.raw_execute(self,
statement, params)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py",
line 374, in raw_execute\n self._run_execution(raw_cursor, args,
params, statement)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py",
line 388, in _run_execution\n
self._check_disconnect(raw_cursor.execute, *args)\n File
"/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/database.py",
line 454, in _check_disconnect\n return function(*args,
**kwargs)\nProgrammingError: ERREUR: la relation \xc2\xab listarchiver
\xc2\xbb n\'existe pas\nLINE 1: ...tarchiver.mailing_list_id,
listarchiver.name FROM listarchiv...\n
^\n\nDec 03 12:37:50 2013 (23762) SHUNTING:
1386070670.221361+6120e5d3eaedee1815abe8fc6bf7dd306961f1dd
and the real problem origin is missing schema upgrades for postgres
Cheers
Le 2013-12-03 12:09, nicolas a écrit :
> Hi,
>
> I encountered a subtil problem when a component logs unicode strings
> (present case was the hyperkitty archiver) :
>
> (py27)mailman at 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
>
> _______________________________________________
> Mailman-Developers mailing list
> Mailman-Developers at python.org
> https://mail.python.org/mailman/listinfo/mailman-developers
> Mailman FAQ: http://wiki.list.org/x/AgA3
> Searchable Archives:
> http://www.mail-archive.com/mailman-developers%40python.org/
> Unsubscribe:
>
> https://mail.python.org/mailman/options/mailman-developers/nicolas%40karageuzian.com
>
> Security Policy: http://wiki.list.org/x/QIA9
More information about the Mailman-Developers
mailing list