element-hq / element-hq/synapse

assertion failed when trying to leave room prevents leaving room

Open
#19,485 0 comments 1 reaction 0 assignees View on GitHub
A-Leave T-Defect
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.