You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, the underlying race condition is a bit tricky to fix elegantly.
`mod_carboncopy:remove_connection` is a handler for the `unset_presence` hook,
and it removes CC state from the ejabberd_sm info field in the session record.
This is however done in an async manner by the C2S process, and when the user
terminates, the request is never handled. This doesn't matter much, as the user
process exits shortly, and is removed from ejabberd_sm altogether. However, if
it receives a message in this short time, CC might run, and see the process
still with the CC state in the ejabberd_sm info field. This results in a CC copy
sent on behalf of this exiting process. Since a fix would be overly complicated,
and to proceed with unflaking the tests, the test will now wait for C2S process
exit.
0 commit comments