Internal Server Errors in mailmanweb.log
I keep seeing several errors like the below in my mailmanweb.log and not sure what the causa is.
[ERROR] [2025-12-17 18:24:22,053] [log] 1969696 140553251733568 Internal
Server Error: /archives/list/
kictanet@lists.kictanet.or.ke/thread/C6QQOYBSQIWHJ7ALGSR23U44U2FHTFG2/
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/core/handlers/exception.py",
line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/core/handlers/base.py",
line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/lib/view_helpers.py",
line 137, in inner
return func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/thread.py",
line 238, in thread_index
return render(request, "hyperkitty/thread.html", context=context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/shortcuts.py", line
24, in render
content = loader.render_to_string(template_name, context, request,
using=using)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader.py",
line 62, in render_to_string
return template.render(context, request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/backends/django.py",
line 61, in render
return self.template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 175, in render
return self._render(context)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 167, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader_tags.py",
line 157, in render
return compiled_parent._render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 167, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader_tags.py",
line 63, in render
result = block.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/defaulttags.py",
line 321, in render
return nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader_tags.py",
line 208, in render
return template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 177, in render
return self._render(context)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 167, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/defaulttags.py",
line 238, in render
nodelist.append(node.render_annotated(context))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/loader_tags.py",
line 208, in render
return template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 177, in render
return self._render(context)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 167, in _render
return self.nodelist.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in
self]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 966, in render_annotated
return self.render(context)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 1064, in render
output = self.filter_expression.resolve(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/template/base.py",
line 742, in resolve
new_obj = func(obj, *arg_vals)
^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/templatetags/decorate.py",
line 42, in render
return mark_safe(text_renderer(content))
^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/markdown.py", line
120, in __call__
return self.parse(s)[0]
^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/markdown.py", line
93, in parse
self.block.parse(state)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py",
line 457, in parse
end_pos2 = self.parse_method(m, state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/mistune/core.py",
line 216, in parse_method
return func(m, state)
^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py",
line 368, in parse_block_quote
text, end_pos = self.extract_block_quote(m, state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py",
line 345, in extract_block_quote
end_pos = self.parse_method(m4, state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/mistune/core.py",
line 216, in parse_method
return func(m, state)
^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py",
line 387, in parse_list
return parse_list(self, m, state)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/list_parser.py",
line 64, in parse_list
groups = _parse_list_item(block, bullet, groups, token, state, rules)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/list_parser.py",
line 174, in _parse_list_item
block.parse(child, rules)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py",
line 457, in parse
end_pos2 = self.parse_method(m, state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/mistune/core.py",
line 214, in parse_method
assert lastgroup
AssertionError
Since they are many, perhaps the causa is the same thing that can be fixed?
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
Washington Odhiambo via Mailman-users writes:
I keep seeing several errors like the below in my mailmanweb.log and not sure what the causa is.
File "/opt/mailman/venv/lib/python3.11/site-packages/mistune/block_parser.py", line 457, in parse end_pos2 = self.parse_method(m, state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/venv/lib/python3.11/site-packages/mistune/core.py", line 214, in parse_method assert lastgroup AssertionError
This is a mistune bug. Somewhere, mistune code is not checking for the error condition being checked by the "assert", and it got through to the code. I can't tell you what the problem is, the assert is in a very generic utility that is probably called a billion times in the mistune code. It's possible that updating mistune will fix the bug, but I wouldn't bet on it because of the nature of what mistune does.
mistune is a library that parses and renders Markdown (document formatting language that is readable as plain text). Markdown rendering in HyperKitty is an experimental format, and probably should not be enabled for lists that are not *heavily* programmer-oriented (maybe there are other communities that use Markdown frequently, if so, my apologies).
If you don't have users who really want it, you should turn it off.
Steve
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan
Teilnehmer (2)
-
Stephen J. Turnbull -
Washington Odhiambo