-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Must not force verto relogin repeatedly for Chrome98 #121
Comments
However, the problem might occur after the clientReady message, because we see this pattern in the FS log:
FWIW, the logging while using ws.c was similar:
|
I just noticed that the verto.ping that appears in the FS log never appears in DevTools / Network / WS in any of the (re-)connections. And if it did arrive at the verto client, the most recent edit to handle that seems unlikely to work because it returns json from handleMessage but no caller of handleMessage is expecting a return value and they won't trigger anything like sendMessage('verto.pong', {}). Perhaps the absence of a response to verto.ping is causing the connection to be considered broken. |
I diff'd https://github.com/freeswitch/verto-client/tree/master/js/src with our version and there were no major differences; however, I noticed that the #SPx messages are handled by jquery.jsonrpcclient.js and that it has no case to handle #SPE. Because our connections are being forced to relogin after #SPE appears, I tried disabling our use of the speed test, and the repeated relogin problem no longer appeared. Perhaps your use of libks expects a response for #SPE, doesn't get one, and assumes the connection needs to be re-established. |
Hi @David-dp- , to recap: this problem seems not related to freeswitch/verto-client@54feff1 but instead to the "speed test" that sends |
Hi Edoardo, It's true that disabling the speed test makes the repeated
relogins stop. But once that is fixed, I suspect there will still be a
problem due to the verto client not responding to verto.ping. But I'm not
certain.
…On Fri, 14 Jan 2022, 9:32 pm Edoardo Gallo, ***@***.***> wrote:
Hi @David-dp- <https://github.com/David-dp-> , to recap: this problem
seems not related to ***@***.***
<freeswitch/verto-client@54feff1>
but instead to the "speed test" that sends #SPx messages.
Correct?
—
Reply to this email directly, view it on GitHub
<#121 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA5RKQ4SJTDGUZZKUFBQA4TUV7NTNANCNFSM5L5MXTFQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Starting in Chrome98 Beta (98.0.4758.54 (Official Build) beta (64-bit)), a verto login -- which uses the browser-native WebSocket constructor -- initially succeeds but then is repeatedly forced by commands from FS 1.10.7 to relogin.
Using DevTools / Network / WS reveals that after login, many non-control frames of length 1028 (displayed as
#SPB
) are sent to FS. Then verto sends a non-control frame of length 4 (displayed as#SPE
) and that is shortly followed by a non-control frame likeand that is the last frame of the connection; it seems to force verto to relogin because DevTools shows a new connection and a login frame is one of the first to appear.
This was happening with a ws.c from this repo committed around Sept 21, 2021 to fix an iOS 15 issue. We found that you replaced that with libks, so we pulled the head of https://github.com/signalwire/freeswitch ‘s master branch onto Debian 10 and built it, then copied its mod_verto.so to our 1.10.7-release-19-883d2cb662~64bit server and then did ‘reload mod_verto’ in fs_cli. That resulted in repeated error logging like...
Then we tried changing the
die
at https://github.com/signalwire/freeswitch/blob/f9bb8940c29f55c89fa1e0697e8e614b355bfff2/src/mod/endpoints/mod_verto/mod_verto.c#L2032 to merely a warning, but that resulted in an infinite iteration of the POLL ERROR at the same msec log time.So now it appears that the assigning of state KS_SOCK_INVALID in https://github.com/signalwire/libks/blob/10b3445c92f17be3908a6c0e5597c0fe997ad637/src/ks_socket.c may be incorrect for these #SPE frames that seem to occur only in Chrome 98 Beta and not Chrome97 nor Firefox.
The text was updated successfully, but these errors were encountered: