New issue
Advanced search Search tips

Issue 918871 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

"Disallowing sync XHR in pagedismissal" breaks AppRTC and the corresponding browsertest

Project Member Reported by oprypin@chromium.org, Jan 3

Issue description

https://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)

 
Cc: mbonadei@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, 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

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.
Owner: oprypin@chromium.org
Status: Assigned (was: Untriaged)
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