This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Events sent immediately after joining can be incorrectly soft-failed #10066
Labels
A-Federation
A-Soft-Failure
O-Uncommon
Most users are unlikely to come across this or unexpected workflow
S-Critical
Blocks development, potential data loss, more than 25% of users possibly affected, no workarounds.
T-Defect
Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Comments
MadLittleMods
added
the
T-Defect
Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
label
May 25, 2021
I think this might be the same as #6536 (though with a much better description)? |
MadLittleMods
changed the title
Federation race condition when joining and sending a message from bridge appservice
Federation race condition when joining and sending a message from bridge appservice (May 25, 2021
soft_failed
)
MadLittleMods
added
the
S-Critical
Blocks development, potential data loss, more than 25% of users possibly affected, no workarounds.
label
May 25, 2021
richvdh
changed the title
Federation race condition when joining and sending a message from bridge appservice (
events sent immediately after joining can be incorrectly soft-failed
May 26, 2021
soft_failed
)
I closed #6536, since this has a bunch more detail |
callahad
added
the
P3
(OBSOLETE: use S- labels.) Approved backlog: not yet scheduled, will accept patches
label
May 27, 2021
|
4 tasks
MadLittleMods
added a commit
that referenced
this issue
Jun 9, 2021
Spawned from missing messages we were seeing on `matrix.org` from a federated Gtiter bridged room, https://gitlab.com/gitterHQ/webapp/-/issues/2770. The underlying issue in Synapse is tracked by #10066 where the message and join event race and the message is `soft_failed` before the `join` event reaches the remote federated server. Less soft_failed events = better and usually this should only trigger for events where people are doing bad things and trying to fuzz and fake everything.
richvdh
pushed a commit
that referenced
this issue
Jun 11, 2021
Spawned from missing messages we were seeing on `matrix.org` from a federated Gtiter bridged room, https://gitlab.com/gitterHQ/webapp/-/issues/2770. The underlying issue in Synapse is tracked by #10066 where the message and join event race and the message is `soft_failed` before the `join` event reaches the remote federated server. Less soft_failed events = better and usually this should only trigger for events where people are doing bad things and trying to fuzz and fake everything.
This was referenced Jul 8, 2021
MadLittleMods
changed the title
events sent immediately after joining can be incorrectly soft-failed
Events sent immediately after joining can be incorrectly soft-failed
Sep 2, 2022
MadLittleMods
added
the
O-Uncommon
Most users are unlikely to come across this or unexpected workflow
label
Sep 2, 2022
DMRobertson
added
A-Soft-Failure
and removed
P3
(OBSOLETE: use S- labels.) Approved backlog: not yet scheduled, will accept patches
labels
Sep 6, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
A-Federation
A-Soft-Failure
O-Uncommon
Most users are unlikely to come across this or unexpected workflow
S-Critical
Blocks development, potential data loss, more than 25% of users possibly affected, no workarounds.
T-Defect
Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Description
The Gitter bridge seems to have reproduced a race condition in federation where because the appservice joins and sends a message in quick succession, the message can out run the
join
which causes the message tosoft_fail
.To see an actual reproduction, there is a missing message in the
!SrkiFczPSWmYrlSNYF:matrix.org
room formatrix.org
homeserver users ($mMJdjGPC2GaoWK3pLApa_O2vBoeuQwYtP6iY6XzbrfY
). This is tracked on Gitter by https://gitlab.com/gitterHQ/webapp/-/issues/2770#note_583925093The event exists in the
gitter.im
homeserver database and is visible to thegitter.im
homeserver where the Gitter bridge appservice operates. The message is also visible to any new homeserver that comes in the room and backfills the messages. It's only not visible on thematrix.org
homeserver.The message also exists on the
matrix.org
homeserver database but issoft_failed
(thanks to @richvdh for checking the database)@Half-Shot has also seen this happen a few times with the IRC bridge.
As @leonerd from #1444 and @Half-Shot mentioned, this is probably not a problem for normal users because the time taken to join and then send a message is some number of seconds. Whereas with appservices, can join and send an event in quick succession (almost instantly).
Related issues:
federation_inbound
worker is busyjoin
, set profile,membership
event (not over federation though).Steps to reproduce
!my-room:hs1
!my-room:hs1
join
and message event from HS2Version information
gitter.im
->matrix.org
The text was updated successfully, but these errors were encountered: