element-hq / element-hq/synapse

event_map KeyError on join

Open
#19,465 4 comments 0 reactions 0 assignees View on GitHub
A-Join T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

### Description

*Discussed in the [internal backend team lobby room](https://matrix.to/#/!SGNQGPGUwtcPBUotTL:matrix.org/$P8Cs7UlNBdk6n-E3iEPAWYLqO6ka8wDDHwnvmLFAsZc?via=jki.re&via=element.io&via=matrix.org),*

Upon attempting to join a room, the following error happens:

```
2026-02-13 05:49:55,139 - synapse.http.server - 147 - ERROR - POST-9cd20b92df09f92e-SIN - Failed handle request via 'JoinRoomAliasServlet':
Capture point (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/home/synapse/src/synapse/app/generic_worker.py", line 475, in
main()
File "/home/synapse/src/synapse/app/generic_worker.py", line 471, in main
_base.start_worker_reactor("synapse-generic-worker", homeserver_config)
File "/home/synapse/src/synapse/app/_base.py", line 172, in start_worker_reactor
start_reactor(
File "/home/synapse/src/synapse/app/_base.py", line 235, in start_reactor
run()
File "/home/synapse/src/synapse/app/_base.py", line 225, in run
run_command()
File "/home/synapse/src/synapse/app/_base.py", line 157, in
run_command: Callable[[], None] = lambda: reactor.run(),
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/base.py", line 697, in run
self.mainLoop()
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/base.py", line 705, in mainLoop
self.runUntilCurrent()
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/base.py", line 1064, in runUntilCurrent
f(*a, **kw)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 891, in callback
self._startRunCallbacks(result)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 998, in _startRunCallbacks
self._runCallbacks()
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1803, in _gotResultInlineCallbacks
_inlineCallbacks(r, gen, status, context)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1955, in _inlineCallbacks
status.deferred.callback(callbackValue)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 891, in callback
self._startRunCallbacks(result)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 998, in _startRunCallbacks
self._runCallbacks()
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 891, in callback
self._startRunCallbacks(result)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 998, in _startRunCallbacks
self._runCallbacks()
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1803, in _gotResultInlineCallbacks
_inlineCallbacks(r, gen, status, context)
File "/home/synapse/env-python311/lib/python3.11/site-packages/twisted/internet/defer.py", line 1857, in _inlineCallbacks
result = context.run(gen.send, result)
File "/home/synapse/src/synapse/http/server.py", line 255, in wrapped_async_request_handler
await h(self, request)
Traceback (most recent call last):
File "/home/synapse/src/synapse/http/server.py", line 335, in _async_render_wrapper
callback_return = await self._async_render(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/synapse/src/synapse/http/server.py", line 576, in _async_render
callback_return = await raw_callback_return
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/synapse/src/synapse/rest/client/room.py", line 588, in on_POST
return await self._do(request, requester, room_identifier, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/synapse/src/synapse/rest/client/room.py", line 569, in _do
await self.room_member_handler.update_membership(
File "/home/synapse/src/synapse/handlers/room_member.py", line 677, in update_membership
result = await self.update_membership_locked(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/synapse/src/synapse/handlers/room_member.py", line 1073, in update_membership_locked
remote_join, remote_room_hosts = await self._should_perform_remote_join(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/synapse/src/synapse/handlers/room_member.py", line 1328, in _should_perform_remote_join
current_state = {
^
File "/home/synapse/src/synapse/handlers/room_member.py", line 1329, in
state_key: event_map[event_id]
~~~~~~~~~^^^^^^^^^^
KeyError: '$redacted_event_id'
2026-02-13 05:49:55,182 - synapse.access.http.12101 - 641 - INFO - POST-9cd20b92df09f92e-SIN - - 12101 - {@redacted:matrix.org} Processed request: 0.076sec/0.010sec (0.045sec, 0.004sec) (0.003sec/0.012sec/9) 55B 500 "POST /_matrix/client/v3/join/!redacted?server_name=maunium.net&via=maunium.net HTTP/1.1" "" [0 dbevts]
```

### Steps to reproduce

Unclear. Once caused, the room appears to be unjoinable on that server.

### Homeserver

matrix.org

### Synapse Version

whatever matrix.org is running when this issue was created

### Installation Method

Other (please mention below)

### Database

postgresql

### Workers

Multiple workers

### Platform

matrix.org

### Configuration

_No response_

### Relevant log output

```shell
see above. Also event_creator_users1 worker.
```

### Anything else that would be useful to know?

_No response_

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.