Skip to content

assertion failed when trying to leave room prevents leaving room #19485

@emdete

Description

@emdete

Description

when trying to leave a room this fails. the homeserver log shows an exception:

Steps to reproduce

  • list the steps
  • that reproduce the bug
  • using hyphens as bullet points

Homeserver

emdete.de

Synapse Version

1.144.0

Installation Method

Debian packages from packages.matrix.org

Database

i use a single pg, i migrated from sqlite long, long ago

Workers

I don't know

Platform

devuan excalibur/ceres, no container or vm

Configuration

no

Relevant log output

2026-02-19 19:04:50,880 - synapse.http.server - 147 - ERROR - POST-8727960- Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x7f8bec1ec550 method='POST' uri='/_matrix/client/v3/rooms/!bDwQOcrZFaoJMOjDcu:matrix.keinhorn.de/leave' clientproto='
HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/http/server.py", line 335, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/http/server.py", line 576, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/rest/client/room.py", line 1295, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/rest/client/room.py", line 1268, in _do
    await self.room_member_handler.update_membership(
    ...<7 lines>...
    )
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/handlers/room_member.py", line 663, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<16 lines>...
    )
    ^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/handlers/room_member.py", line 1188, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<13 lines>...
    )
    ^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/handlers/room_member.py", line 475, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<17 lines>...
    )
    ^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/handlers/message.py", line 731, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/util/metrics.py", line 173, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venvs/matrix-synapse/lib/python3.13/site-packages/synapse/handlers/message.py", line 1336, in create_new_client_event
    assert builder.type == EventTypes.Create or len(prev_event_ids) > 0, (
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Attempting to create an event with no prev_events

(btw: why does synapse run with assertions enabled? shouldnt important validations be usual code and prod-runs with -o?)

Anything else that would be useful to know?

this room was a DM room where the other party left

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions