morganecf / jitsi-party

Partying in the time of corona
MIT License
26 stars 24 forks source link

Users are occasionally disconnected from converse chats #473

Open hndrewaall opened 3 years ago

hndrewaall commented 3 years ago

messages like this are visible in console:

converse.min.js:68  2021-05-03T02:37:01.983Z WARNING: Could not restore session for jid: fa741b1b-bd99-4b55-a640-14c42f00503b@guest.party.jitsi/oROnLcV3 Error message: _restore: no restoreable session.

Possibly related, messages like this are visible in prosody:

prosody_1       | mod_bosh                                                      error   Traceback[bosh]: /usr/lib/prosody/core/usermanager.lua:89: attempt to ind
ex field 'sessions' (a nil value)
prosody_1       | stack traceback:
prosody_1       |       /usr/lib/prosody/core/usermanager.lua:89: in function 'user_exists'
prosody_1       |       /usr/lib/prosody/modules/mod_mam/mod_mam.lua:210: in function 'shall_store'
prosody_1       |       /usr/lib/prosody/modules/mod_mam/mod_mam.lua:296: in function '?'
prosody_1       |       /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
prosody_1       |       (...tail calls...)
prosody_1       |       /usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
prosody_1       |       /usr/lib/prosody/core/stanza_router.lua:127: in function 'dispatch_stanza'
prosody_1       |       /usr/lib/prosody/modules/mod_bosh.lua:322: in function 'func'
prosody_1       |       /usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
prosody_1       | stack traceback:
prosody_1       |       /usr/lib/prosody/util/async.lua:211: in function 'run'
prosody_1       |       /usr/lib/prosody/modules/mod_bosh.lua:464: in function 'cb_handlestanza'
prosody_1       |       /usr/lib/prosody/util/xmppstream.lua:182: in function </usr/lib/prosody/util/xmppstream.lua:162>
prosody_1       |       [C]: in function 'parse'
prosody_1       |       /usr/lib/prosody/util/xmppstream.lua:282: in function 'feed'
prosody_1       |       /usr/lib/prosody/modules/mod_bosh.lua:133: in function '?'
prosody_1       |       /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
prosody_1       |       (...tail calls...)
prosody_1       |       /usr/lib/prosody/net/http/server.lua:229: in function </usr/lib/prosody/net/http/server.lua:176>
prosody_1       |       [C]: in function 'xpcall'
prosody_1       |       /usr/lib/prosody/net/http/server.lua:108: in function 'process_next'
prosody_1       |       /usr/lib/prosody/net/http/server.lua:124: in function 'success_cb'
prosody_1       |       /usr/lib/prosody/net/http/parser.lua:177: in function 'feed'
prosody_1       |       /usr/lib/prosody/net/http/server.lua:155: in function </usr/lib/prosody/net/http/server.lua:154>
prosody_1       |       [C]: in function 'pcall'
prosody_1       |       /usr/lib/prosody/net/server_epoll.lua:175: in function 'on'
prosody_1       |       /usr/lib/prosody/net/server_epoll.lua:364: in function 'onreadable'
prosody_1       |       /usr/lib/prosody/net/server_epoll.lua:760: in function </usr/lib/prosody/net/server_epoll.lua:752>
prosody_1       |       [C]: in function 'xpcall'
prosody_1       |       /usr/bin/prosody:76: in function 'loop'
prosody_1       |       /usr/bin/prosody:86: in main chunk
prosody_1       |       [C]: in ?

We should try to reproduce with latest upstream prosody version and jitsi meet patches

hndrewaall commented 3 years ago

As a mitigation, we should try to configure Converse to reauthenticate (thus generating a new user) automatically

hndrewaall commented 3 years ago

One user reported this state occurring after a soft reload in Chrome

hndrewaall commented 3 years ago

I was able to reproduce the issue without a refresh, just waiting for a long time in a room with ~70 users. Some other potentially interesting messages precede the first restoration failure error:

converse.min.js:248 Uncaught (in promise) Error: Timeout error after 10000ms for the following IQ stanza: <iq id="470f8a8d-6252-4002-b843-c2f766dced53:sendIQ" to="ed9b6cf2-1ad2-4bda-9f5f-b2ba1dda2433@guest.party.jitsi" type="get" xmlns="jabber:client"><vCard xmlns="vcard-temp"/></iq>
    at converse.min.js:248
[...]
converse.min.js:248 Uncaught (in promise) Error: Timeout error after 10000ms for the following IQ stanza: <iq id="550ad8b6-cd14-4d1c-92d5-9837dae8c231:sendIQ" to="08e66d1f-3462-48d5-bea7-775ef8eee5c1@guest.party.jitsi" type="get" xmlns="jabber:client"><vCard xmlns="vcard-temp"/></iq>
    at converse.min.js:248
[...]
converse.min.js:248 Uncaught (in promise) Error: Timeout error after 10000ms for the following IQ stanza: <iq id="b74522bf-f25d-4e21-bb76-acf58b7d0687:sendIQ" to="6fa9c9ea-7f95-4e10-a609-3854eeac3bc9@guest.party.jitsi" type="get" xmlns="jabber:client"><vCard xmlns="vcard-temp"/></iq>
    at converse.min.js:248
[...]
websocket.js:124 WebSocket connection to 'wss://enter.thesatanic.estate/socket.io/?EIO=3&transport=websocket&sid=302632daf4084fa8940292e030eb69a6' failed: Received a broken close frame containing invalid UTF-8.
../../node_modules/engine.io-client/lib/transports/websocket.js.WS.doOpen @ websocket.js:124
../../node_modules/engine.io-client/lib/transport.js.Transport.open @ transport.js:84
../../node_modules/engine.io-client/lib/socket.js.Socket.probe @ socket.js:402
../../node_modules/engine.io-client/lib/socket.js.Socket.onOpen @ socket.js:423
../../node_modules/engine.io-client/lib/socket.js.Socket.onHandshake @ socket.js:484
../../node_modules/engine.io-client/lib/socket.js.Socket.onPacket @ socket.js:446
(anonymous) @ socket.js:278
../../node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
../../node_modules/engine.io-client/lib/transport.js.Transport.onPacket @ transport.js:149
callback @ polling.js:144
(anonymous) @ browser.js:603
../../node_modules/engine.io-parser/lib/browser.js.exports.decodePayloadAsBinary @ browser.js:602
../../node_modules/engine.io-parser/lib/browser.js.exports.decodePayload @ browser.js:373
../../node_modules/engine.io-client/lib/transports/polling.js.Polling.onData @ polling.js:148
(anonymous) @ polling-xhr.js:129
../../node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
../../node_modules/engine.io-client/lib/transports/polling-xhr.js.Request.onData @ polling-xhr.js:303
../../node_modules/engine.io-client/lib/transports/polling-xhr.js.Request.onLoad @ polling-xhr.js:370
xhr.onreadystatechange @ polling-xhr.js:256
react_devtools_backend.js:2557  2021-05-03T03:55:51.534Z WARNING: Could not restore session for jid: 2e59c163-c473-4090-84a2-b7637d15d0dc@guest.party.jitsi/F6mARNVp Error message: _restore: no restoreable session. 
overrideMethod @ react_devtools_backend.js:2557
[...]