Signatures Crash

Hi,

I hope this is the right place to ask for help on this matter. If not, I am happy to create an error report somewhere else.

When I open a file and select “Signatures” from the “Views” menu, I get a server error:

Before, I was able to select an embedded signature and my GPG key and only then it crashed. Something must have broken on that crash because now I don’t even get so far. If I select a different file, I can still go to the “Signatures” on that, but I didn’t yet dare trying to add a signature there, too :wink:

I have already updated my compose-file (more precisely: portainer stack) to use the latest version (Build number: v4.4.8_Fri Jul 14 22:03:16 2023 -0400).

The exact error log from the container:

2023-07-26 09:56:47,509 INFO success: mayan-edms-worker_a entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
mayan.apps.logging.middleware.error_logging <305> [ERROR] "process_exception() line 15 Exception caught by request middleware; <WSGIRequest: GET '/signatures/documents/files/13/signatures/'>, SignatureBaseModel matching query does not exist."
Traceback (most recent call last):
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/core/handlers/base.py", line 204, in _get_response
    response = response.render()
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/response.py", line 105, in render
    self.content = self.rendered_content
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/defaulttags.py", line 404, in render
    return strip_spaces_between_tags(self.nodelist.render(context).strip())
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/defaulttags.py", line 315, in render
    return nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/defaulttags.py", line 315, in render
    return nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/loader_tags.py", line 195, in render
    return template.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/defaulttags.py", line 315, in render
    return nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/defaulttags.py", line 315, in render
    return nodelist.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/template/library.py", line 192, in render
    output = self.func(*resolved_args, **resolved_kwargs)
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/templatetags/navigation_tags.py", line 48, in navigation_resolve_menu
    return _navigation_resolve_menu(
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/templatetags/navigation_tags.py", line 12, in _navigation_resolve_menu
    link_groups = menu.resolve(
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/classes.py", line 553, in resolve
    self.resolve_matched_links(
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/classes.py", line 633, in resolve_matched_links
    resolved_link = link.resolve(**kwargs)
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/classes.py", line 162, in resolve
    if not self.check_condition(context=context, resolved_object=resolved_object):
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/navigation/class_mixins.py", line 15, in check_condition
    return self.condition(
  File "/opt/mayan-edms/lib/python3.9/site-packages/mayan/apps/document_signatures/links.py", line 33, in condition_is_detached_signature
    return SignatureBaseModel.objects.select_subclasses().get(
  File "/opt/mayan-edms/lib/python3.9/site-packages/django/db/models/query.py", line 435, in get
    raise self.model.DoesNotExist(
mayan.apps.document_signatures.models.SignatureBaseModel.DoesNotExist: SignatureBaseModel matching query does not exist.

I just realized that there is already an issue for that: Failure to handle detached signature generated by gpg2 (#1142) · Issues · Mayan EDMS / Mayan EDMS · GitLab which seems to have more detailed steps to reproduce. But there is also no fix or so.