From bbea15a87407b05dfb46494f2a5da12d44cda254 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Thu, 1 Apr 2021 20:21:43 +0200 Subject: Added fix for mozbz#1702606 / rhbz#1936071, Switched tests back to X11 due to massive failures --- firefox.spec | 11 +++++++---- mozilla-1702606.patch | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 mozilla-1702606.patch diff --git a/firefox.spec b/firefox.spec index f1b3cd4..b595cad 100644 --- a/firefox.spec +++ b/firefox.spec @@ -22,9 +22,6 @@ %global build_with_asan 0 %global test_offscreen 1 %global test_on_wayland 0 -%if 0%{?fedora} > 32 -%global test_on_wayland 1 -%endif # There are still build problems on s390x, see # https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351 @@ -163,7 +160,7 @@ ExcludeArch: armv7hl Summary: Mozilla Firefox Web browser Name: firefox Version: 87.0 -Release: 8%{?pre_tag}%{?dist} +Release: 9%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz @@ -244,6 +241,7 @@ Patch407: mozilla-1667096.patch Patch408: mozilla-1663844.patch Patch415: mozilla-1670333.patch Patch416: mozilla-1693472.patch +Patch417: mozilla-1702606.patch # PGO/LTO patches Patch600: pgo.patch @@ -494,6 +492,7 @@ This package contains results of tests executed during build. %patch408 -p1 -b .1663844 %patch415 -p1 -b .1670333 %patch416 -p1 -b .1693472 +%patch417 -p1 -b .1702606 # PGO patches %if %{build_with_pgo} @@ -1063,6 +1062,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Thu Apr 1 2021 Martin Stransky - 87.0-9 +- Added fix for mozbz#1702606 / rhbz#1936071 +- Switched tests back to X11 due to massive failures. + * Thu Apr 1 2021 Martin Stransky - 87.0-8 - Run testsuite on Wayland on Fedora 33+ - Spec cleanup diff --git a/mozilla-1702606.patch b/mozilla-1702606.patch new file mode 100644 index 0000000..8497f7e --- /dev/null +++ b/mozilla-1702606.patch @@ -0,0 +1,41 @@ +changeset: 576316:5310862f0f2a +tag: tip +parent: 576314:6159d3fc46c6 +user: stransky +date: Thu Apr 01 20:02:47 2021 +0200 +files: widget/gtk/WindowSurfaceWayland.cpp widget/gtk/nsWaylandDisplay.cpp +description: +Bug 1702606 [Wayland] Don't call mWaylandDisplay::WaitForSyncEnd() from Compositor/Render thread, r?rmader + +Differential Revision: https://phabricator.services.mozilla.com/D110590 + + +diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp +--- a/widget/gtk/WindowSurfaceWayland.cpp ++++ b/widget/gtk/WindowSurfaceWayland.cpp +@@ -737,10 +737,6 @@ already_AddRefed Window + return nullptr; + } + +- // Wait until all pending events are processed. There may be queued +- // wl_buffer release event which releases our wl_buffer for further rendering. +- mWaylandDisplay->WaitForSyncEnd(); +- + // Lock the surface *after* WaitForSyncEnd() call as is can fire + // FlushPendingCommits(). + MutexAutoLock lock(mSurfaceLock); +diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp +--- a/widget/gtk/nsWaylandDisplay.cpp ++++ b/widget/gtk/nsWaylandDisplay.cpp +@@ -239,6 +239,10 @@ void nsWaylandDisplay::QueueSyncBegin() + } + + void nsWaylandDisplay::WaitForSyncEnd() { ++ MOZ_RELEASE_ASSERT( ++ NS_IsMainThread(), ++ "nsWaylandDisplay::WaitForSyncEnd() can be called in main thread only!"); ++ + // We're done here + if (!mSyncCallback) { + return; + -- cgit