Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Room admins lost after originating server goes down #9139

Closed
muppeth opened this issue Jan 16, 2021 · 8 comments
Closed

Room admins lost after originating server goes down #9139

muppeth opened this issue Jan 16, 2021 · 8 comments
Labels
X-Needs-Info This issue is blocked awaiting information from the reporter

Comments

@muppeth
Copy link

muppeth commented Jan 16, 2021

Description

All existing admins of a room disappeared after the originating server went down for good including admins on other servers. This creates situation where room is left without an admin

Steps to reproduce

  • Give admin priv to user on another server
  • Nuke your own server
  • Wait few days
  • Check as the new user if you are still admin

I have a proof of the user getting the 100 priviledge on the room. There seem to be no other event pointing to the user being removed from admin position later on.
Room ID: !uDQoIebqsjEEtmWLrO:disroot.org
Event ID: $16067909367001DedIY:disroot.org
"@redpiller:matrix.org": 100
"@appservice-irc:matrix.org": 100,

All of those users including others with priv 50 kept their priviledge.

Version information

  • Homeserver:

If not matrix.org:

  • Version:

  • Install method:

  • Platform:
@clokep
Copy link
Member

clokep commented Jan 18, 2021

Hey @muppeth I'm having some trouble following your report here. Could you clarify your steps of what occurred? Do you know if these steps are reproducible or is this just from observation?

@callahad callahad added the X-Needs-Info This issue is blocked awaiting information from the reporter label Jan 21, 2021
@callahad
Copy link
Contributor

My best reading of the scenario is:

  1. A user on a homeserver creates a room
  2. A mix of local and federated users join the room, some are given powerlevel 100
  3. The homeserver goes offline permanently
  4. From the perspective of a federated user, all of the admins (local and federated) in the room disappeared (which I take to mean: lost their admin powerlevel.)

It seems like somehow the event where a federated user was given powerlevel 100 is present and known, but that powerlevel is not reflected in the current state.

@muppeth could you please clarify?

@richvdh
Copy link
Member

richvdh commented Jan 22, 2021

Assuming @callahad's reading is correct, this sounds like it may have been caused by a state reset (see #1953 for some context on what that means, if you're unfamiliar).

These should be less likely in modern room versions, though not unknown (#8629).

So one question here is "what room version was this"? If it was room v1 I'd just write it off as a state reset and move on. If not, it probably bears more investigation.

@muppeth
Copy link
Author

muppeth commented Jan 23, 2021

@Rickvdh yes it is room ver1. Does that then mean the control over the room is totally lost?

@callahad From perspective of federated user, I would assume those who had power level 100 would remain having that despite the owner of the room leaving the room. Form federation perspective homeserver going down would not mean anything (at least what I thought) as it is just considered currently offline. Theoretically it could come back at anytime. So why this should matter? The only thing that is different from the federation perspecitve apart form server being down is that the owner of the room left the room. But there were other users from federated third party servers with power level 50 and 100.

@muppeth
Copy link
Author

muppeth commented Jan 31, 2021

Sorry for a bump, but is there anything that can be done at this point?

@muppeth
Copy link
Author

muppeth commented Jan 31, 2021

I just checked with another user on PTIO server and he sees the admins on his end. Not sure if it's the state of the room on that server (when creating account here and joining I see the current / broken state of the room) or his client. But yeah kinda annoying loosing access to quite a big room in the network.

[update]
Reloading cache on client side updated the state of the client to the current/broken one.

@clokep
Copy link
Member

clokep commented Feb 23, 2021

@callahad From perspective of federated user, I would assume those who had power level 100 would remain having that despite the owner of the room leaving the room. Form federation perspective homeserver going down would not mean anything (at least what I thought) as it is just considered currently offline. Theoretically it could come back at anytime. So why this should matter? The only thing that is different from the federation perspecitve apart form server being down is that the owner of the room left the room. But there were other users from federated third party servers with power level 50 and 100.

Yes this is all correct. It seems that the room suffered a "state reset", which is a bug in the v1 state algorithm used by room version 1. This is fixed in room version 2 (although I'd recommend jumping to the newest room version). So pretty much, it isn't due to the other homeserver going down, but an unrelated bug.

It seems that the thing to do here is to upgrade the room to a newer room version. This can be done by typing /upgraderoom 6 in Element. You'll need to have a user with the appropriate power levels to do this, so hopefully one of the remaining users is able to perform this upgrade!

@callahad
Copy link
Contributor

Closing as a known issue with the Matrix specification which has been resolved in later room versions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
X-Needs-Info This issue is blocked awaiting information from the reporter
Projects
None yet
Development

No branches or pull requests

4 participants