"Disallowing sync XHR in pagedismissal" breaks AppRTC and the corresponding browsertest |
||
Issue descriptionhttps://ci.chromium.org/p/chromium/g/chromium.webrtc and https://ci.chromium.org/p/chromium/g/chromium.webrtc.fyi are failing First failure (happens only on Linux): https://ci.chromium.org/p/chromium/builders/luci.chromium.webrtc/WebRTC%20Chromium%20Linux%20Tester/1079 (see also error excerpt at the bottom of this issue) I bisected the first failing commit to be https://chromium-review.googlesource.com/c/chromium/src/+/1336914 "Disallowing sync XHR in pagedimissal" git bisect start && git bisect bad d56d9dbe && git bisect good d2731cd2 && git bisect run bash -c 'gclient sync && ninja -C out/debug browser_tests && DISPLAY=:0 out/debug/browser_tests --gtest_filter=WebRtcApprtcBrowserTest.MANUAL_WorksOnApprtc --run-manual --test-launcher-jobs=1 || exit 1' This test uses the actual AppRTC webapp https://github.com/webrtc/apprtc so I assume that's what's actually broken. And while we do want to fix it, it's not entirely clear what should be done to un-break the waterfalls and allow DEPS rolls to continue. Most likely disabling the test. -------- [9696:9696:0102/153954.661670:INFO:CONSOLE(5607)] "1.747: Cleanup completed.", source: http://localhost:9999/js/apprtc.debug.js (5607) [9696:9696:0102/153954.661696:INFO:CONSOLE(5607)] "1.748: Error deleting web socket connection: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://localhost:8089/some_room/34215143': Synchronous XHR in page dismissal.", source: http://localhost:9999/js/apprtc.debug.js (5607) [1:18:0102/153954.663929:ERROR:rtpreceiver.cc(121)] AudioRtpReceiver::OnSetVolume: No audio channel exists. [9696:9696:0102/153954.665020:INFO:CONSOLE(5607)] "4.499: C->WSS: {"type":"bye"}", source: http://localhost:9999/js/apprtc.debug.js (5607) 2019/01/02 15:39:54 Deregistered client 62940363 from room some_room [9696:9696:0102/153954.665479:INFO:CONSOLE(5607)] "4.499: Cleanup completed.", source: http://localhost:9999/js/apprtc.debug.js (5607) [9696:9696:0102/153954.666172:INFO:CONSOLE(5607)] "4.499: Error deleting web socket connection: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://localhost:8089/some_room/62940363': Synchronous XHR in page dismissal.", source: http://localhost:9999/js/apprtc.debug.js (5607) [9696:9696:0102/153954.666963:INFO:CONSOLE(5607)] "4.500: Channel closed with code:1000 reason:", source: http://localhost:9999/js/apprtc.debug.js (5607) [1:16:0102/153954.667000:ERROR:rtpreceiver.cc(121)] AudioRtpReceiver::OnSetVolume: No audio channel exists. [9696:9696:0102/153954.668128:INFO:CONSOLE(5494)] "Uncaught (in promise) NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://localhost:9999/leave/some_room/62940363': Synchronous XHR in page dismissal.", source: http://localhost:9999/js/apprtc.debug.js (5494) [9696:9696:0102/153954.668414:INFO:CONSOLE(5607)] "1.754: Channel closed with code:1000 reason:", source: http://localhost:9999/js/apprtc.debug.js (5607) [9696:9696:0102/153954.668508:INFO:CONSOLE(5494)] "Uncaught (in promise) NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://localhost:9999/leave/some_room/34215143': Synchronous XHR in page dismissal.", source: http://localhost:9999/js/apprtc.debug.js (5494)
,
Jan 4
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3dacac799cc8541f89ad577512a87d526ed3e797 commit 3dacac799cc8541f89ad577512a87d526ed3e797 Author: Oleh Prypin <oprypin@chromium.org> Date: Fri Jan 04 14:33:29 2019 Ignore "Synchronous XHR in page dismissal" error thrown by AppRTC https://github.com/webrtc/apprtc/blob/20cdd7652d58c9cf47ef92ba0190a5505760dc05/src/web_app/js/call.js#L159 sends an XHR on page close which is now an error in Chromium. Ignoring the error doesn't cause any problems, especially for the purpose of this test, so until a real fix is made, this is a simple way to un-break tests. (https://ci.chromium.org/p/chromium/g/chromium.webrtc) Bug: 918871 Change-Id: I29497a39424a1c54e7b6875edc0cb896663221ea Reviewed-on: https://chromium-review.googlesource.com/c/1396019 Reviewed-by: Henrik Boström <hbos@chromium.org> Commit-Queue: Oleh Prypin <oprypin@chromium.org> Cr-Commit-Position: refs/heads/master@{#619943} [modify] https://crrev.com/3dacac799cc8541f89ad577512a87d526ed3e797/chrome/browser/media/webrtc/webrtc_browsertest_base.cc
,
Jan 7
Made a simple fix in https://github.com/webrtc/apprtc/pull/601. Lets see if that works, if it does I will remove sync/async handling and make it async permanently.
,
Jan 7
Assigning to oprypin@ since he appears to be landing fixes on both Chrome and AppRTC. Please reassign if more work is needed by someone else. |
||
►
Sign in to add a comment |
||
Comment 1 by oprypin@chromium.org
, Jan 4