error 500 if room in space destroyed, but still in space, and then viewed over federation
See original GitHub issueDescription
error 500 on the server-to-server protocol, when listing rooms in a space, after one has been partially destroyed
Steps to reproduce
- create a space with a public room on HS-1
- join the space from a user on HS-2
- delete the public room
- try to list the rooms, from the HS-2 user
HS-2 will get:
synapse.http.matrixfederationclient: [POST-7202] {POST-O-3371} [matrix.org] Got response headers: 500 Internal Server Error
synapse.http.matrixfederationclient: [POST-7202] {POST-O-3371} [matrix.org] Request failed: POST matrix://matrix.org/_matrix/federation/unstable/org.matrix.msc2946/spaces/%21EDITED%3Amatrix.org: HttpResponseException('500: Internal Server Error')
HS-1 will get:
synapse.http.server: [POST-8610] Failed handle request via 'FederationSpaceSummaryServlet': <XForwardedForRequest at 0x7f1d5151e520 method='POST' uri='/_matrix/federation/unstable/org.matrix.msc2946/spaces/%21EDITED%3AEDITED' clientproto='HTTP/1.0' site='8448'>
Traceback (most recent call last):
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/http/server.py", line 258, in _async_render_wrapper
callback_return = await self._async_render(request)
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/http/server.py", line 446, in _async_render
callback_return = await raw_callback_return
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/federation/transport/server.py", line 347, in new_func
response = await func(
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/federation/transport/server.py", line 1430, in on_POST
return 200, await self.handler.federation_space_summary(
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/handlers/space_summary.py", line 209, in federation_space_summary
rooms, events = await self._summarize_local_room(
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/handlers/space_summary.py", line 250, in _summarize_local_room
room_entry = await self._build_room_entry(room_id)
File "/nix/store/pq9bx9ka6jpjp00k99vhhxdwlp9dz3rw-matrix-synapse-1.34.0/lib/python3.8/site-packages/synapse/handlers/space_summary.py", line 349, in _build_room_entry
current_state_ids[(EventTypes.Create, "")]
KeyError: ('m.room.create', '')
note, the server addresses in the errors dont match up, i flipped HS-1 and HS-2 and reproduced it twice, to get logs for each end, without running 2 HS’s
Version information
issue happens when matrix.org and a local 1.34.0 HS interact together, both ends fail with error 500
- Platform: nixos
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (5 by maintainers)
Top Results From Across the Web
- PROTECTING THE ELECTRIC GRID FROM THE ...
The study concluded that such a storm could damage or destroy over 300 ... So if we solve the problem that is sure...
Read more >ruby on rails - destroying a record returns a internal 500 error
When a user destroys a movie I get a 500 internal server error , the record is deleted though. This is the response...
Read more >Database Engine events and errors - SQL Server
Consult this MSSQL error code list to find explanations for error messages for SQL Server database engine events.
Read more >Drones and aerial surveillance: Considerations for legislatures
The looming prospect of expanded use of unmanned aerial vehicles, colloquially known as drones, has raised understandable concerns for lawmakers.
Read more >Unauthorized Disposition of Federal Records | National Archives
If you would like more information on a case, please contact the NARA Freedom of ... Destruction of permanent hard-copy trademarks after digitization....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
being the last person in the room, i simply leave it then attempting to view the list of spaces, from a different homeserver, causes that error in the logs
the state on the space claims it still exists, but the homeserver for the room claims it doesnt
I confirmed this was fixed by #9922 and was released in Synapse v1.35.0rc1.