Closed Bug 1611486 Opened 4 years ago Closed 4 years ago

Cherry-pick Upstream X11 Mouse Cursor Fixes

Categories

(Core :: WebRTC: Audio/Video, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: ng, Assigned: ng)

Details

Attachments

(2 files)

The upstream WebRTC codebase has some fixes for X11 mouse cursor monitoring during screen sharing which prevent X from hanging.

https://chromium.googlesource.com/external/webrtc/+/4b47dd39a79d62acaaeb68bedd147d748320ce4d

https://chromium.googlesource.com/external/webrtc/+/c380e97ee62a3e1a75290bfb0e438ca267c6237c

We should cherry pick or adapt them.

Pushed by na-g@nostrum.com:
https://hg.mozilla.org/integration/autoland/rev/50c7ba45875b
P1 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
https://hg.mozilla.org/integration/autoland/rev/881eb2c2d312
P2 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor

Backed out 2 changesets (Bug 1611486) for bustages complaining about mouse_cursor_monitor.h and desktop_and_cursor_composer.h

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=881eb2c2d312c6d605ca41dea989422d69960d98&tochange=4c250434116cbee0ed4b3d13f20df467b85ffdc4&selectedJob=286670688

Backout link: https://hg.mozilla.org/integration/autoland/rev/4c250434116cbee0ed4b3d13f20df467b85ffdc4

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=286670688&repo=autoland&lineNumber=43708

[task 2020-01-27T22:43:34.584Z] 22:43:34 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/dom/media/systemservices'
[task 2020-01-27T22:43:34.584Z] 22:43:34 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/gcc/bin/g++ -std=gnu++17 -o Unified_cpp_systemservices0.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_LINUX -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/dom/media/systemservices -I/builds/worker/workspace/build/src/obj-firefox/dom/media/systemservices -I/builds/worker/workspace/build/src/media/libyuv/libyuv/include -I/builds/worker/workspace/build/src/media/webrtc/signaling -I/builds/worker/workspace/build/src/media/webrtc/trunk -I/builds/worker/workspace/build/src/media/webrtc/trunk/webrtc -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O2 -fno-omit-frame-pointer -funwind-tables -Werror -Wno-error=shadow -Wno-error=shadow -MD -MP -MF .deps/Unified_cpp_systemservices0.o.pp Unified_cpp_systemservices0.cpp
[task 2020-01-27T22:43:34.584Z] 22:43:34 INFO - In file included from /builds/worker/workspace/build/src/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h:18:0,
[task 2020-01-27T22:43:34.584Z] 22:43:34 INFO - from /builds/worker/workspace/build/src/dom/media/systemservices/video_engine/desktop_capture_impl.h:26,
[task 2020-01-27T22:43:34.585Z] 22:43:34 INFO - from /builds/worker/workspace/build/src/dom/media/systemservices/VideoEngine.cpp:9,
[task 2020-01-27T22:43:34.585Z] 22:43:34 INFO - from Unified_cpp_systemservices0.cpp:101:
[task 2020-01-27T22:43:34.585Z] 22:43:34 ERROR - /builds/worker/workspace/build/src/media/webrtc/trunk/webrtc/modules/desktop_capture/mouse_cursor_monitor.h:56:18: error: 'virtual void webrtc::MouseCursorMonitor::Callback::OnMouseCursorPosition(webrtc::MouseCursorMonitor::CursorState, const webrtc::DesktopVector&)' was hidden [-Werror=overloaded-virtual]
[task 2020-01-27T22:43:34.585Z] 22:43:34 INFO - virtual void OnMouseCursorPosition(CursorState state,
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - ^~~~~~~~~~~~~~~~~~~~~
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - In file included from /builds/worker/workspace/build/src/dom/media/systemservices/video_engine/desktop_capture_impl.h:26:0,
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - from /builds/worker/workspace/build/src/dom/media/systemservices/VideoEngine.cpp:9,
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - from Unified_cpp_systemservices0.cpp:101:
[task 2020-01-27T22:43:34.586Z] 22:43:34 ERROR - /builds/worker/workspace/build/src/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h:64:8: error: by 'virtual void webrtc::DesktopAndCursorComposer::OnMouseCursorPosition(const webrtc::DesktopVector&)' [-Werror=overloaded-virtual]
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - void OnMouseCursorPosition(const DesktopVector& position) override;
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - ^~~~~~~~~~~~~~~~~~~~~
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - cc1plus: all warnings being treated as errors
[task 2020-01-27T22:43:34.586Z] 22:43:34 INFO - /builds/worker/workspace/build/src/config/rules.mk:744: recipe for target 'Unified_cpp_systemservices0.o' failed
[task 2020-01-27T22:43:34.586Z] 22:43:34 ERROR - make[4]: *** [Unified_cpp_systemservices0.o] Error 1
[task 2020-01-27T22:43:34.587Z] 22:43:34 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/media/systemservices'
[task 2020-01-27T22:43:34.587Z] 22:43:34 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'dom/media/systemservices/target-objects' failed
[task 2020-01-27T22:43:34.587Z] 22:43:34 ERROR - make[3]: *** [dom/media/systemservices/target-objects] Error 2
[task 2020-01-27T22:43:34.587Z] 22:43:34 INFO - make[3]: *** Waiting for unfinished jobs....

Flags: needinfo?(na-g)
Pushed by na-g@nostrum.com:
https://hg.mozilla.org/integration/autoland/rev/2c757811156a
P1 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
https://hg.mozilla.org/integration/autoland/rev/733439de3429
P2 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
Depends on: 1646904
No longer depends on: 1646904
Flags: needinfo?(na-g)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: