question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

error 500 if room in space destroyed, but still in space, and then viewed over federation

See original GitHub issue

Description

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:closed
  • Created 2 years ago
  • Comments:6 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
cleverca22commented, May 22, 2021

Can you describe how you “delete the public room”? Do you mean remove it from the space or something else?

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

0reactions
clokepcommented, Aug 19, 2021

I confirmed this was fixed by #9922 and was released in Synapse v1.35.0rc1.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found