element-hq / element-hq/synapse
assertion failed when trying to leave room prevents leaving room
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 600
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 51
Description
### 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
```shell
2026-02-19 19:04:50,880 - synapse.http.server - 147 - ERROR - POST-8727960- Failed handle request via 'RoomMembershipRestServlet':
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
Contributor guide
Assessment
This issue has not been assessed yet.