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

Failing to join a remote room invite #8596

Open
jaywink opened this issue Oct 20, 2020 · 4 comments
Open

Failing to join a remote room invite #8596

jaywink opened this issue Oct 20, 2020 · 4 comments
Labels
A-Federation A-Invite Inviting users to rooms and accepting invites S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@jaywink
Copy link
Member

jaywink commented Oct 20, 2020

Description

Got an invite to a remote room. On clicking invite in Element web and desktop, got {"errcode":"M_NOT_FOUND","error":"Unknown room !foobar:elokapina.fi"} as the reply to the join.

The Element Web screenshot is rather unhelpful. The person has not left the room and the server is also not unavailable. Have done multiple attempts to ensure it's not a fluke network issue.

Selection_785

For the inviter in the remote room (also a remote server user), I look like joining the room. When I click accept again after the above, Synapse returns 200 to the join and the spinner just spins forever. Clearing cache and reloading does not help, the invite is still there, the room not. Told remote user to kick and re-invite, but same result.

I am in lots of rooms on with the users on the remote server. I have previously been in the room I am being invited to but having done a /part at some point.

Have also tried this on Element Android, the same issue except that the error is directly from the API response (ie unknown room).

If after the first unsuccessful join error on either client, I click reject invite, the remote room shows me leaving the room.

Will update Element debug logs. For Synapse debug logs, they can be found in the EMS logs.

Have tested a join from another staging Synapse in EMS and it worked.

Logging in to the Synapse tracker since I've tested this on Element desktop nightly, Element web 1.7.9 and Element Android - so it smells like a Synapse issue related to my history with the room.

Version information

  • Homeserver: my: federator.dev - remote: elokapina.fi

  • Version: Both v1.21.0

  • Install method: both Docker, official images

@erikjohnston
Copy link
Member

erikjohnston commented Nov 12, 2020

See rageshake for server logs.

Most interesting things are:

  1. The join successfully does a /send_join, but then returns with a 404 unknown room.
  2. While persisting the events it does a state res across two state groups, why would it have any extremities?
  3. The resolved state thinks the server is no longer joined.
  4. The /sync requests sees a change from leave -> join for the room, but doesn't generate an entry for it.
  5. We don't see any incoming events from remote servers for the room, don't we expect the other server to send us the join again?
  6. The user was in the room, then left, gets reinvited tries to join fails and then rejects the invite.

My hunch here is that we're somehow not correctly deleting extremities or something and so when we compute the new current state we do a state res that ends up with the server not in the room.

@heftig
Copy link

heftig commented May 30, 2021

I've encountered this as well. Is there a way to work around the issue?

@heftig
Copy link

heftig commented May 31, 2021

Seems I was able to work around this by inviting another user on the same homeserver (this fake user did not exist) and then inviting the problematic user again. After they joined I was able to withdraw the invitation for the fake user again.

@erikjohnston erikjohnston added S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. and removed z-bug (Deprecated Label) z-p2 (Deprecated Label) labels Jul 26, 2021
@JJJollyjim
Copy link

JJJollyjim commented May 10, 2022

This appears to still be an issue, currently affecting me when trying to rejoin an invite-only libera.chat room for which I have an irc invite exception using !join (just as it has previously impacted someone else: matrix-org/matrix-appservice-irc#1324 (comment)).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Federation A-Invite Inviting users to rooms and accepting invites S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

5 participants