Uncaught runner exception: 'str' object has no attribute 'decode'
When held mails are released in Mailman (maybe also mails which are not held) they are sometimes not sent nor archived, as mentioned in https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/T...
One of my list admins reported that he released two mails on Sep 25 07:20:48 2017 UTC, and only the first was sent to the members. In the mailman.log I found the following from that particular release:
Sep 25 07:20:48 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar HTTP/1.1" 200 353 Sep 25 07:20:48 2017 (36) held message approved, message-id: <CAF9K74uk331j91PfF6S1nQT2YvxywwhUFBWBBcdMGkNMMU4=TA@somemail.com> Sep 25 07:20:48 2017 (36) 172.19.199.3 - - "POST /3.0/lists/listname.foo.bar/held/40 HTTP/1.1" 204 0 Sep 25 07:20:48 2017 (36) held message approved, message-id: <804D10D40C57024A90412246998CB72D873B794B@P1KITMBX07WC04.mailserver> Sep 25 07:20:48 2017 (36) 172.19.199.3 - - "POST /3.0/lists/listname@foo.bar/held/42 HTTP/1.1" 204 0 Sep 25 07:20:48 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/held?count=0&page=1 HTTP/1.1" 200 90 Sep 25 07:20:48 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/held?count=10&page=1 HTTP/1.1" 200 90 Sep 25 07:20:53 2017 (28) HyperKitty archived message <CAF9K74uk331j91PfF6S1nQT2YvxywwhUFBWBBcdMGkNMMU4=TA@somemail.com> to https://listserver.foo.bar/hyperkitty/list/listname@foo.bar/message/IAKWSH7O... Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar HTTP/1.1" 200 353 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/config HTTP/1.1" 200 2473 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar HTTP/1.1" 200 353 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/roster/owner HTTP/1.1" 200 613 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/roster/moderator HTTP/1.1" 200 617 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar HTTP/1.1" 200 353 Sep 25 07:20:53 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/requests HTTP/1.1" 200 90 Sep 25 07:20:56 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar HTTP/1.1" 200 353 Sep 25 07:20:56 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/roster/owner HTTP/1.1" 200 613 Sep 25 07:20:56 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/roster/moderator HTTP/1.1" 200 617 Sep 25 07:20:57 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/config HTTP/1.1" 200 2473 Sep 25 07:20:57 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/archivers HTTP/1.1" 200 81 Sep 25 07:20:57 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname.foo.bar/archivers HTTP/1.1" 200 81 Sep 25 07:20:57 2017 (36) 172.19.199.3 - - "GET /3.0/lists/listname@foo.bar/requests HTTP/1.1" 200 90 Sep 25 07:20:57 2017 (35) Uncaught runner exception: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/pipeline.py", line 37, in _dispose process(mlist, msg, msgdata, pipeline) File "/usr/local/lib/python3.6/site-packages/mailman/core/pipelines.py", line 53, in process handler.process(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 174, in process mlist, msgdata, subject, prefix, prefix_pattern, ws) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 72, in all_same_charset chunks.append(chunk.decode(charset)) AttributeError: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) SHUNTING: 1506324057.584686+a13cc47dc1027a0cfb00c892396b3ba7efabb3dc
In addition, the log contains other trace backs that might or might not associate to this problem:
Sep 24 21:11:27 2017 (34) Uncaught runner exception: 'ascii' codec can't encode character '\udcea' in position 3093: ordinal not in range(128) Sep 24 21:11:28 2017 (34) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/outgoing.py", line 93, in _dispose self._func(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/deliver.py", line 86, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/bulk.py", line 101, in deliver mlist, msg, msgdata, recipients) File "/usr/local/lib/python3.6/site-packages/mailman/mta/base.py", line 70, in _deliver_to_recipients sender, sorted(recipients), msg.as_string()) File "/usr/local/lib/python3.6/site-packages/mailman/mta/connection.py", line 84, in sendmail results = self._connection.sendmail(envsender, recipients, msgtext) File "/usr/local/lib/python3.6/smtplib.py", line 855, in sendmail msg = _fix_eols(msg).encode('ascii') UnicodeEncodeError: 'ascii' codec can't encode character '\udcea' in position 3093: ordinal not in range(128) Sep 24 21:11:28 2017 (34) SHUNTING: 1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66
...¨
Sep 25 07:20:57 2017 (35) Uncaught runner exception: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/pipeline.py", line 37, in _dispose process(mlist, msg, msgdata, pipeline) File "/usr/local/lib/python3.6/site-packages/mailman/core/pipelines.py", line 53, in process handler.process(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 174, in process mlist, msgdata, subject, prefix, prefix_pattern, ws) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 72, in all_same_charset chunks.append(chunk.decode(charset)) AttributeError: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) SHUNTING: 1506324057.584686+a13cc47dc1027a0cfb00c892396b3ba7efabb3dc
...
Sep 25 09:19:58 2017 (30) deque: do_confirm_verify Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/app/workflow.py", line 69, in __next__ return step() File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 420, in _step_send_confirmation raise StopIteration StopIteration
...
Sep 26 09:21:07 2017 (36) deque: Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/app/workflow.py", line 69, in __next__ return step() File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 217, in _step_sanity_checks MemberRole.member) mailman.interfaces.member.AlreadySubscribedError: sender@foo.bar is already a MemberRole.member of mailing list listname@listserver.foo.bar
...
Sep 26 13:32:29 2017 (30) Uncaught runner exception: Sep 26 13:32:29 2017 (30) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/command.py", line 196, in _dispose mlist, msg, msgdata, parts, results) File "/usr/local/lib/python3.6/site-packages/mailman/commands/eml_confirm.py", line 53, in process mlist).confirm(token) File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 540, in confirm PendableUnsubscription.PEND_TYPE) AssertionError
...
Sep 27 13:23:02 2017 (32) Uncaught runner exception: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/outgoing.py", line 93, in _dispose self._func(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/deliver.py", line 86, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/bulk.py", line 101, in deliver mlist, msg, msgdata, recipients) File "/usr/local/lib/python3.6/site-packages/mailman/mta/base.py", line 70, in _deliver_to_recipients sender, sorted(recipients), msg.as_string()) File "/usr/local/lib/python3.6/email/message.py", line 158, in as_string g.flatten(self, unixfrom=unixfrom) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 272, in _handle_multipart g.flatten(part, unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 358, in _handle_message g.flatten(msg.get_payload(0), unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 189, in _write msg.replace_header('content-transfer-encoding', munge_cte[0]) File "/usr/local/lib/python3.6/email/message.py", line 558, in replace_header raise KeyError(_name) KeyError: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) SHUNTING: 1506518582.300981+aa68949ca566c7170a81a0bd643cee803f29c312
On 09/28/2017 06:11 AM, Henrik Rasmussen wrote:
When held mails are released in Mailman (maybe also mails which are not held) they are sometimes not sent nor archived, as mentioned in https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/T...
One of my list admins reported that he released two mails on Sep 25 07:20:48 2017 UTC, and only the first was sent to the members. In the mailman.log I found the following from that particular release: ...
I will look at the above as time permits, but ...
Sep 27 13:23:02 2017 (32) Uncaught runner exception: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/outgoing.py", line 93, in _dispose self._func(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/deliver.py", line 86, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/bulk.py", line 101, in deliver mlist, msg, msgdata, recipients) File "/usr/local/lib/python3.6/site-packages/mailman/mta/base.py", line 70, in _deliver_to_recipients sender, sorted(recipients), msg.as_string()) File "/usr/local/lib/python3.6/email/message.py", line 158, in as_string g.flatten(self, unixfrom=unixfrom) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 272, in _handle_multipart g.flatten(part, unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 358, in _handle_message g.flatten(msg.get_payload(0), unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 189, in _write msg.replace_header('content-transfer-encoding', munge_cte[0]) File "/usr/local/lib/python3.6/email/message.py", line 558, in replace_header raise KeyError(_name) KeyError: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) SHUNTING: 1506518582.300981+aa68949ca566c7170a81a0bd643cee803f29c312
This one at least is a known issue. See <https://gitlab.com/mailman/mailman/issues/256>. As noted there, the underlying cause is <https://bugs.python.org/issue27321>, a bug in the Python email library (not yet fixed as of Python 3.6.2, but there are references to patches in the bug report).
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 09/28/2017 06:11 AM, Henrik Rasmussen wrote:
Sep 25 07:20:57 2017 (35) Uncaught runner exception: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/pipeline.py", line 37, in _dispose process(mlist, msg, msgdata, pipeline) File "/usr/local/lib/python3.6/site-packages/mailman/core/pipelines.py", line 53, in process handler.process(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 174, in process mlist, msgdata, subject, prefix, prefix_pattern, ws) File "/usr/local/lib/python3.6/site-packages/mailman/handlers/subject_prefix.py", line 72, in all_same_charset chunks.append(chunk.decode(charset)) AttributeError: 'str' object has no attribute 'decode' Sep 25 07:20:57 2017 (35) SHUNTING: 1506324057.584686+a13cc47dc1027a0cfb00c892396b3ba7efabb3dc
This is <https://gitlab.com/mailman/mailman/issues/359> It is fixed in the current source by <https://gitlab.com/mailman/mailman/commit/e92359323cda1fb118415c2ccb69679795...>.
In addition, the log contains other trace backs that might or might not associate to this problem:
Sep 24 21:11:27 2017 (34) Uncaught runner exception: 'ascii' codec can't encode character '\udcea' in position 3093: ordinal not in range(128) Sep 24 21:11:28 2017 (34) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/outgoing.py", line 93, in _dispose self._func(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/deliver.py", line 86, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/bulk.py", line 101, in deliver mlist, msg, msgdata, recipients) File "/usr/local/lib/python3.6/site-packages/mailman/mta/base.py", line 70, in _deliver_to_recipients sender, sorted(recipients), msg.as_string()) File "/usr/local/lib/python3.6/site-packages/mailman/mta/connection.py", line 84, in sendmail results = self._connection.sendmail(envsender, recipients, msgtext) File "/usr/local/lib/python3.6/smtplib.py", line 855, in sendmail msg = _fix_eols(msg).encode('ascii') UnicodeEncodeError: 'ascii' codec can't encode character '\udcea' in position 3093: ordinal not in range(128) Sep 24 21:11:28 2017 (34) SHUNTING: 1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66
This may be a bug. The msgtext argument in 'self._connection.sendmail(envsender, recipients, msgtext)' is supposed to be a string containing only ascii characters. I'm interested in what's in Mailman's var/queue/shunt/1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66.pck. You may be able to print the contents with Mailman's
bin/mailman queue var/queue/shunt/1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66.pck
There shouldn't be raw unicodes like \udcea in the text of the message, but we should defend against that anyway.
Sep 25 07:20:57 2017 (35) Uncaught runner exception: 'str' object has no attribute 'decode'
Same as above.
Sep 25 09:19:58 2017 (30) deque: do_confirm_verify Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/app/workflow.py", line 69, in __next__ return step() File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 420, in _step_send_confirmation raise StopIteration StopIteration
This is normal. It is not an issue.
Sep 26 09:21:07 2017 (36) deque: Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/app/workflow.py", line 69, in __next__ return step() File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 217, in _step_sanity_checks MemberRole.member) mailman.interfaces.member.AlreadySubscribedError: sender@foo.bar is already a MemberRole.member of mailing list listname@listserver.foo.bar
This appears to be an attempt to subscribe someone who's already a member. This should have resulted in an appropriate message to the attempted subscriber.
Sep 26 13:32:29 2017 (30) Uncaught runner exception: Sep 26 13:32:29 2017 (30) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/command.py", line 196, in _dispose mlist, msg, msgdata, parts, results) File "/usr/local/lib/python3.6/site-packages/mailman/commands/eml_confirm.py", line 53, in process mlist).confirm(token) File "/usr/local/lib/python3.6/site-packages/mailman/app/subscriptions.py", line 540, in confirm PendableUnsubscription.PEND_TYPE) AssertionError
I'm not sure about this one. a message has been sent to the LISTNAME-confirm address to confirm a subscription or unsubscription. The confirmation token exists but is neither a pending subscription or unsubscription token.
Sep 27 13:23:02 2017 (32) Uncaught runner exception: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 171, in _one_iteration self._process_one_file(msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/core/runner.py", line 264, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/runners/outgoing.py", line 93, in _dispose self._func(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/deliver.py", line 86, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/local/lib/python3.6/site-packages/mailman/mta/bulk.py", line 101, in deliver mlist, msg, msgdata, recipients) File "/usr/local/lib/python3.6/site-packages/mailman/mta/base.py", line 70, in _deliver_to_recipients sender, sorted(recipients), msg.as_string()) File "/usr/local/lib/python3.6/email/message.py", line 158, in as_string g.flatten(self, unixfrom=unixfrom) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 272, in _handle_multipart g.flatten(part, unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 181, in _write self._dispatch(msg) File "/usr/local/lib/python3.6/email/generator.py", line 214, in _dispatch meth(msg) File "/usr/local/lib/python3.6/email/generator.py", line 358, in _handle_message g.flatten(msg.get_payload(0), unixfrom=False, linesep=self._NL) File "/usr/local/lib/python3.6/email/generator.py", line 116, in flatten self._write(msg) File "/usr/local/lib/python3.6/email/generator.py", line 189, in _write msg.replace_header('content-transfer-encoding', munge_cte[0]) File "/usr/local/lib/python3.6/email/message.py", line 558, in replace_header raise KeyError(_name) KeyError: 'content-transfer-encoding' Sep 27 13:23:02 2017 (32) SHUNTING: 1506518582.300981+aa68949ca566c7170a81a0bd643cee803f29c312
As I said in a prior reply, this is <https://gitlab.com/mailman/mailman/issues/256>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Thanks, Mark.
@Abhilash, any chance for an update to Docker-mailman to fix these known issues soon? https://gitlab.com/mailman/mailman/issues/256 https://gitlab.com/mailman/mailman/issues/359
@Mark,
Mark Sapiro wrote:
In addition, the log contains other trace backs that might or might not associate to this problem:
Sep 24 21:11:27 2017 (34) Uncaught runner exception: 'ascii' codec can't encode character '\udcea' in position 3093: ordinal not in range(128)
This may be a bug. The msgtext argument in 'self._connection.sendmail(envsender, recipients, msgtext)' is supposed to be a string containing only ascii characters. I'm interested in what's in Mailman's var/queue/shunt/1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66.pck. You may be able to print the contents with Mailman's
bin/mailman queue var/queue/shunt/1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66.pck
Isn't this a Mailman 2 command? What is the Mailman 3 equivalent?
-- Henrik Rasmussen <her@adm.ku.dk> University of Copenhagen, Danmark
On 09/29/2017 02:10 AM, Henrik Rasmussen wrote:
Thanks, Mark.
@Abhilash, any chance for an update to Docker-mailman to fix these known issues soon? https://gitlab.com/mailman/mailman/issues/256
@Henrik, Contrary to what I said earlier, your issue is not exactly #256. #256 is fixed in Mailman to the extent that the defective message no longer breaks Postorius or causes exceptions in REST, but the underlying issue causing the "KeyError: 'content-transfer-encoding'" exception is not in Mailman. It's in the Python email package. The issue that needs to be fixed for that is <https://bugs.python.org/issue27321>.
The bottom line is at this point, <https://bugs.python.org/issue27321> no longer affects Postorius, but it still affects message delivery. I have opened <https://gitlab.com/mailman/mailman/issues/406> about defending against that and also the UnicodeEncodeError you included in your OP.
@Mark,
Mark Sapiro wrote:
bin/mailman queue var/queue/shunt/1506287488.0529234+cbf8a31cad265a40a18e8955be0c9ad8b48a1b66.pck
Isn't this a Mailman 2 command? What is the Mailman 3 equivalent?
No. 'bin/mailman queue' is the Mailman 3 command. The Mailman 2 command is 'bin/show_qfiles'.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
The bottom line is at this point, <https://bugs.python.org/issue27321> no longer affects Postorius, but it still affects message delivery. I have opened <https://gitlab.com/mailman/mailman/issues/406> about defending against that and also the UnicodeEncodeError you included in your OP.
Is there some kind of workaround, I can give my users or something that the list admins can do as a workaround?
No. 'bin/mailman queue' is the Mailman 3 command. The Mailman 2 command is 'bin/show_qfiles'.
I much be in the wrong place because when I do a 'docker exec -it mailman-core bash' and do a 'mailman --help' I don't see a 'queue' argument. The only bin/mailman I have inside the mailman-core container is /usr/local/bin/mailman, which is the same command.
On 10/02/2017 05:25 AM, Henrik Rasmussen wrote:
The bottom line is at this point, <https://bugs.python.org/issue27321> no longer affects Postorius, but it still affects message delivery. I have opened <https://gitlab.com/mailman/mailman/issues/406> about defending against that and also the UnicodeEncodeError you included in your OP.
Is there some kind of workaround, I can give my users or something that the list admins can do as a workaround?
There is no user or list admin workaround, but the defense is a fairly simple patch. See the MR at <https://gitlab.com/mailman/mailman/merge_requests/322> and the commit at <https://gitlab.com/mailman/mailman/commit/37b3f62afdf225a8e29b66fcefcdb56b9b...>. The commit changes 7 files, but only two are needed. The rests are tests or reverting <https://gitlab.com/mailman/mailman/issues/256> which isn't necessary.
The only changes you need are those to mailman/email/message.py and mailman/mta/connection.py.
No. 'bin/mailman queue' is the Mailman 3 command. The Mailman 2 command is 'bin/show_qfiles'.
I much be in the wrong place because when I do a 'docker exec -it mailman-core bash' and do a 'mailman --help' I don't see a 'queue' argument. The only bin/mailman I have inside the mailman-core container is /usr/local/bin/mailman, which is the same command.
My bad. The name is 'qfile', not 'queue'. Sorry about that.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Fra: Mark Sapiro [mailto:mark@msapiro.net] Sendt: 2. oktober 2017 17:26 Emne: [MM3-users] Re: Uncaught runner exception: 'str' object has no attribute 'decode'
Is there some kind of workaround, I can give my users or something that the list admins can do as a workaround?
There is no user or list admin workaround, but the defense is a fairly simple patch. See the MR at <https://gitlab.com/mailman/mailman/merge_requests/322> and the commit at <https://gitlab.com/mailman/mailman/commit/37b3f62afdf225a8e29b66fcefcdb56b9b...>. The commit changes 7 files, but only two are needed. The rests are tests or reverting <https://gitlab.com/mailman/mailman/issues/256> which isn't necessary.
The only changes you need are those to mailman/email/message.py and mailman/mta/connection.py.
I am using Docker-mailman (not yet very familiar Docker and version control). I would expect I have to wait for a Docker-mailman release including this change, right?
I have at least five+ lists which almost haven't been working since my switch from Mailman 2.1 to Mailman 3.1 (Docker-mailman 0.1.1), and I am desperate trying to figure out whether it is best to fall back to the Mailman 2 server, for the time being, where the lists came from, or it is better to wait for an update to the Docker-image.
Will https://github.com/maxking/docker-mailman/milestone/2 fix my problems regarding failed mail handling and will it become available soon (when?) (https://github.com/maxking/docker-mailman/issues/147)?
-- Henrik Rasmussen <her@adm.ku.dk> University of Copenhagen, Danmark
On Tue, Oct 3, 2017, at 12:28 AM, Henrik Rasmussen wrote:
Fra: Mark Sapiro [mailto:mark@msapiro.net] Sendt: 2. oktober 2017 17:26 Emne: [MM3-users] Re: Uncaught runner exception: 'str' object has no attribute 'decode'
Is there some kind of workaround, I can give my users or something that the list admins can do as a workaround?
There is no user or list admin workaround, but the defense is a fairly simple patch. See the MR at <https://gitlab.com/mailman/mailman/merge_requests/322> and the commit at <https://gitlab.com/mailman/mailman/commit/37b3f62afdf225a8e29b66fcefcdb56b9b...>. The commit changes 7 files, but only two are needed. The rests are tests or reverting <https://gitlab.com/mailman/mailman/issues/256> which isn't necessary.
The only changes you need are those to mailman/email/message.py and mailman/mta/connection.py.
I am using Docker-mailman (not yet very familiar Docker and version control). I would expect I have to wait for a Docker-mailman release including this change, right?
I have at least five+ lists which almost haven't been working since my switch from Mailman 2.1 to Mailman 3.1 (Docker-mailman 0.1.1), and I am desperate trying to figure out whether it is best to fall back to the Mailman 2 server, for the time being, where the lists came from, or it is better to wait for an update to the Docker-image.
Will https://github.com/maxking/docker-mailman/milestone/2 fix my problems regarding failed mail handling and will it become available soon (when?) (https://github.com/maxking/docker-mailman/issues/147)?
The container images have stable releases of Mailman components, so those changes will make in to the container when a new Core release happens.
The next image release is pending a version upgrade of Hyperkitty, to 1.1.3, but other changes are just meant to make the process of setting up Mailman better. They do not include changes from git repo after the release.
-- Abhilash Raj maxking@asynchronous.in
On 03-Oct-17 03:58, Abhilash Raj wrote:
The container images have stable releases of Mailman components, so those changes will make in to the container when a new Core release happens.
The next image release is pending a version upgrade of Hyperkitty, to 1.1.3, but other changes are just meant to make the process of setting up Mailman better. They do not include changes from git repo after the release.
Considering the evolving state of MM3, the complexity of installing it, and the problems that people have trying to use it for testing/production: you might consider packaging an 'unstable' Docker version from git 'head', perhaps weekly. Building it ought to be something that you can script...and a regular cycle would give developers a target for merges.
This would get you early testing & would help those trying to be early adopters - waiting months for the next point release will turn off the enthusiasm.
FWIW
.
On Oct 3, 2017, at 04:12, tlhackque via Mailman-users <mailman-users@mailman3.org> wrote:
Considering the evolving state of MM3, the complexity of installing it, and the problems that people have trying to use it for testing/production: you might consider packaging an 'unstable' Docker version from git 'head', perhaps weekly. Building it ought to be something that you can script...and a regular cycle would give developers a target for merges.
This would get you early testing & would help those trying to be early adopters - waiting months for the next point release will turn off the enthusiasm.
It could certainly make sense to provide a ‘rolling’ release with the git heads of all the relevant projects (assuming the heads all pass their own test suites). It might take a little work up front, but I bet we could get GitLab automation to build it all for us.
-Barry
On Tue, Oct 3, 2017, at 07:25 AM, Barry Warsaw wrote:
On Oct 3, 2017, at 04:12, tlhackque via Mailman-users <mailman-users@mailman3.org> wrote:
Considering the evolving state of MM3, the complexity of installing it, and the problems that people have trying to use it for testing/production: you might consider packaging an 'unstable' Docker version from git 'head', perhaps weekly. Building it ought to be something that you can script...and a regular cycle would give developers a target for merges.
This would get you early testing & would help those trying to be early adopters - waiting months for the next point release will turn off the enthusiasm.
It could certainly make sense to provide a ‘rolling’ release with the git heads of all the relevant projects (assuming the heads all pass their own test suites). It might take a little work up front, but I bet we could get GitLab automation to build it all for us.
I can easily build using the git heads (pip install git+https://gitlab.com/.....), I will work on fulfilling the "if tests pass" constraint too :)
Thanks!
-- Abhilash Raj maxking@asynchronous.in
participants (5)
-
Abhilash Raj
-
Barry Warsaw
-
Henrik Rasmussen
-
Mark Sapiro
-
tlhackque