-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Webview crashes on Slack calls #481
Comments
Update: Slack tab keeps crashing at random times. Usually the page becomes unresponsive and then goes into an infinite reload. I keep getting the notification sounds of new messages but doesn't allow to load. Have to open slack in another tab to start using it. Also experienced this on release build |
Repro'ed on my Windows machine. Looking at the crash dump, it's dying when trying to initialize the WebRTC voice engine, specifically when |
It's trying to log an error message when it fails: "[3880:12236:0720/091113.186:ERROR:adm_helpers.cc(73)] Failed to query stereo recording." The crash seems to happen in the call to fwrite, due to an invalid parameter. Hard to see exactly what went haywire, as I'm lacking source code at that point. Almost seems like the WebRTC logging isn't quite configured right and is dying when trying to access the log file. |
I tried to reproduce this on macOS with a debug build but Slack kept crashing before I could even message someone to initiate a test call. I will file issues for the crashes I observed in the debug build, and attempt to repro again with a release build. |
@bbondy mentioned that this could be due to fingerprinting-related patches to RTC. Ran two tests today against the latest master. With "Fingerprinting Protection" set to "Block All Fingerprinting", Brave hung (but did not crash) and then Slack showed a "trouble connecting to the server" page. With the setting switched to "Allow All Fingerprinting", the call went through perfectly fine. Similar results when visiting https://bravesoftware.slack.com/help/test/calls. "Block All Fingerprinting" led to test failures for microphone and camera. "Allow All Fingerprinting" led to all tests passing. |
@garrettr You were possibly crashing in debug mode due to this problematic DCHECK that was recently commented out in Chromium's trunk (but is still enabled in our version of the code): https://chromium-review.googlesource.com/c/chromium/src/+/1083675 Just an FYI, as I recently ran into it too... |
@srirambv I ran a few more tests this morning and I think this is working as expected now, but let me know what you think. There is no longer any crash (possibly due to the move to C68). Everything works as expected when shields are down. When shields are up, the call isn't able to proceed and Slack issues an error message about network connectivity. Not sure there is a much better response we could have in that situation yet still prevent browser fingerprinting. |
Still happens on 1532e51 when running using |
Seems related to the logging crash, which I'm investigating further now. |
So here's my take: This is crashing because we're launching from a non-standard shell (i.e., not Also, I was able to repro the problem in the latest Chrome by launching Chrome via I think the solution in this particular case is to only run this type of test from |
Spoke with @srirambv and we think the non-native shell is the root cause as discussed above, so closing this issue. Will reopen if we ever encounter this while using |
Verification Passed on
Went through verification using the following build under
Verification PASSED on
|
Description
Webview crashes on Slack calls
Steps to Reproduce
Actual result:
Webview crashes on Slack calls
Expected result:
Should not cause webview crash
Reproduces how often:
Easily reproduces
Brave version (about:brave info)
Release build and possibly packaged build as well
Reproducible on current release:
Website problems only:
Additional Information
cc: @bbondy
The text was updated successfully, but these errors were encountered: