Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to leave "Empty room" on Element X client. Homeserver errors in logs. #18003

Open
shaohme opened this issue Dec 6, 2024 · 0 comments
Open

Comments

@shaohme
Copy link

shaohme commented Dec 6, 2024

Description

My Element X on Android (v. 0.7.4) is unable to leave and "Empty room". I suspect data corruption somewhere because no "Empty room" shows up on my Element Desktop client.

Steps to reproduce

  • Have an "Empty room" on your Element X on Android
  • Try leave it
  • Observe Android progress spinner while tail the homeserver logs
  • After enough time lapsed the Element X client returns to main window and the "Empty room" still exists in the list.

Homeserver

matrix.lagy.org

Synapse Version

1.120.2

Installation Method

pip (from PyPI)

Database

pgsql 16.4

Workers

Single process

Platform

Gentoo Linux with latest stable packages. No virtualization or containers used.

Configuration

No unusual configurations. Simple homeserver.yaml setup.

Relevant log output

2024-12-06 08:12:42,741 - synapse.federation.transport.server.federation - 117 - INFO - PUT-59 - Received txn 1730877228502 from staffchat.ethz.ch. (PDUs: 0, EDUs: 1)
2024-12-06 08:12:42,748 - synapse.access.http.8008 - 508 - INFO - POST-55 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 7.453sec/0.001sec (0.002sec, 0.000sec) (0.000sec/0.000sec/0) 288B 200 "POST /_matrix/client/unstable/org.matrix.simplified_msc3575/sync?pos=0%2Fs446394_7913552_0_1328110_284_12_65_939670_0_6&timeout=30000 HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]
2024-12-06 08:12:42,749 - synapse.access.http.8008 - 508 - INFO - PUT-59 - 129.132.120.130 - 8008 - {staffchat.ethz.ch} Processed request: 0.009sec/0.000sec (0.001sec, 0.000sec) (0.001sec/0.004sec/5) 11B 200 "PUT /_matrix/federation/v1/send/1730877228502 HTTP/1.1" "Synapse/1.118.0" [0 dbevts]
2024-12-06 08:12:42,795 - synapse.federation.transport.server.federation - 117 - INFO - PUT-60 - Received txn 1733468815883 from erlaan.se. (PDUs: 0, EDUs: 1)
2024-12-06 08:12:42,801 - synapse.access.http.8008 - 508 - INFO - PUT-60 - 185.189.50.82 - 8008 - {erlaan.se} Processed request: 0.013sec/0.000sec (0.001sec, 0.001sec) (0.002sec/0.004sec/3) 11B 200 "PUT /_matrix/federation/v1/send/1733468815883 HTTP/1.1" "Synapse/1.120.2" [0 dbevts]
2024-12-06 08:12:45,551 - synapse.http.site - 420 - INFO - POST-57 - Connection from client lost before response was sent
2024-12-06 08:12:45,751 - synapse.http.server - 146 - ERROR - POST-62 - Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x79f688759fa0 method='POST' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1158, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1131, in _do
    await self.room_member_handler.update_membership(
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 666, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 1177, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 472, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 694, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/util/metrics.py", line 120, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 1251, in create_new_client_event
    builder.type == EventTypes.Create or prev_event_ids
AssertionError: Attempting to create a non-m.room.create event with no prev_events
2024-12-06 08:12:45,757 - synapse.access.http.8008 - 508 - INFO - POST-62 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 0.023sec/0.000sec (0.002sec, 0.004sec) (0.002sec/0.010sec/7) 55B 500 "POST /_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]
2024-12-06 08:12:46,187 - synapse.http.server - 146 - ERROR - POST-64 - Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x79f6885ff0b0 method='POST' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1158, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1131, in _do
    await self.room_member_handler.update_membership(
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 666, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 1177, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 472, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 694, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/util/metrics.py", line 120, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 1251, in create_new_client_event
    builder.type == EventTypes.Create or prev_event_ids
AssertionError: Attempting to create a non-m.room.create event with no prev_events
2024-12-06 08:12:46,193 - synapse.access.http.8008 - 508 - INFO - POST-64 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 0.025sec/0.001sec (0.002sec, 0.001sec) (0.002sec/0.013sec/4) 55B 500 "POST /_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]
2024-12-06 08:12:46,725 - synapse.http.server - 146 - ERROR - POST-65 - Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x79f6887549b0 method='POST' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1158, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1131, in _do
    await self.room_member_handler.update_membership(
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 666, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 1177, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 472, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 694, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/util/metrics.py", line 120, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 1251, in create_new_client_event
    builder.type == EventTypes.Create or prev_event_ids
AssertionError: Attempting to create a non-m.room.create event with no prev_events
2024-12-06 08:12:46,730 - synapse.access.http.8008 - 508 - INFO - POST-65 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 0.021sec/0.000sec (0.003sec, 0.000sec) (0.002sec/0.009sec/4) 55B 500 "POST /_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]
2024-12-06 08:12:47,412 - synapse.federation.sender - 1019 - INFO - wake_destinations_needing_catchup-1 - Destination matrix.dorgenbjorn.xyz has outstanding catch-up, waking up.
2024-12-06 08:12:47,853 - synapse.http.server - 146 - ERROR - POST-66 - Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x79f6885fd5b0 method='POST' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1158, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1131, in _do
    await self.room_member_handler.update_membership(
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 666, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 1177, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 472, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 694, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/util/metrics.py", line 120, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 1251, in create_new_client_event
    builder.type == EventTypes.Create or prev_event_ids
AssertionError: Attempting to create a non-m.room.create event with no prev_events
2024-12-06 08:12:47,859 - synapse.access.http.8008 - 508 - INFO - POST-66 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 0.025sec/0.001sec (0.005sec, 0.000sec) (0.002sec/0.013sec/4) 55B 500 "POST /_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]
2024-12-06 08:12:48,842 - synapse.http.site - 420 - INFO - POST-63 - Connection from client lost before response was sent
2024-12-06 08:12:48,843 - synapse.http.site - 420 - INFO - POST-61 - Connection from client lost before response was sent
2024-12-06 08:12:50,110 - synapse.http.server - 146 - ERROR - POST-67 - Failed handle request via 'RoomMembershipRestServlet': <XForwardedForRequest at 0x79f688703410 method='POST' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1158, in on_POST
    return await self._do(request, requester, room_id, membership_action, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 1131, in _do
    await self.room_member_handler.update_membership(
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 666, in update_membership
    result = await self.update_membership_locked(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 1177, in update_membership_locked
    return await self._local_membership_update(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/room_member.py", line 472, in _local_membership_update
    ) = await self.event_creation_handler.create_event(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 694, in create_event
    event, unpersisted_context = await self.create_new_client_event(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/util/metrics.py", line 120, in measured_func
    r = await func(self, *args, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 1251, in create_new_client_event
    builder.type == EventTypes.Create or prev_event_ids
AssertionError: Attempting to create a non-m.room.create event with no prev_events
2024-12-06 08:12:50,116 - synapse.access.http.8008 - 508 - INFO - POST-67 - 87.49.43.57 - 8008 - {@me:lagy.org} Processed request: 0.022sec/0.000sec (0.008sec, 0.000sec) (0.002sec/0.011sec/4) 55B 500 "POST /_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/leave HTTP/1.1" "Element X/0.7.4 (Google Pixel 7; Android 15; 2024120400; Sdk 0b16d488a)" [0 dbevts]

Anything else that would be useful to know?

After leaving all rooms on my test setup (only two other rooms) the "Empty room" disappeared with the other rooms. Now the synapse server produces errors like these:

2024-12-06 14:21:27,378 - synapse.http.server - 146 - ERROR - GET-2112 - Failed handle request via 'RoomStateEventRestServlet': <XForwardedForRequest at 0x71a0d9ff2210 method='GET' uri='/_matrix/client/v3/rooms/!riKfFwyDNtUJHZvJSS:matrix.im/state/m.room.encryption/' clientproto='HTTP/1.1' site='unix'>
Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/twisted/internet/defer.py", line 2017, in _inlineCallbacks
    result = context.run(gen.send, result)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/storage/databases/main/state.py", line 649, in _get_state_group_for_events
    raise RuntimeError("No state group for unknown or outlier event %s" % e)
RuntimeError: No state group for unknown or outlier event $kaX7LMOV8m1laRk2LXUzC13qjyX_EXEDIuLYz4blJcw

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/rest/client/room.py", line 258, in on_GET
    data = await msg_handler.get_room_data(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/handlers/message.py", line 149, in get_room_data
    room_state = await self._state_storage_controller.get_state_for_events(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroot/matrix-synapse/lib/python3.12/site-packages/synapse/storage/controllers/state.py", line 267, in get_state_for_events
    return {event: event_to_state[event] for event in event_ids}
                   ~~~~~~~~~~~~~~^^^^^^^
KeyError: '$kaX7LMOV8m1laRk2LXUzC13qjyX_EXEDIuLYz4blJcw'

Since the first incident, I have switched to UNIX socket listeners, but I thought that would be a non-issue in this context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant