From 9575c0b33fe1bfed61193c55af566c070da21da8d30e5fdc1aa5a457797e8b06 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Sun, 26 Mar 2023 17:00:08 +0000 Subject: [PATCH] - Mozilla Firefox 111.0.1 (boo#1209688) * Fixed a crash on macOS while pinch-zooming under some circumstances (bmo#1658986) * Fixed a bug causing Firefox to freeze on startup for some Windows users (bmo#1823159) - fix build on Tumbleweed (mozilla-bmo1807652.patch) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=1048 --- MozillaFirefox.changes | 10 ++ MozillaFirefox.spec | 7 +- firefox-111.0.1.source.tar.xz | 3 + firefox-111.0.1.source.tar.xz.asc | 16 ++ firefox-111.0.source.tar.xz | 3 - firefox-111.0.source.tar.xz.asc | 16 -- l10n-111.0.tar.xz => l10n-111.0.1.tar.xz | 0 mozilla-bmo1807652.patch | 185 +++++++++++++++++++++++ tar_stamps | 8 +- 9 files changed, 222 insertions(+), 26 deletions(-) create mode 100644 firefox-111.0.1.source.tar.xz create mode 100644 firefox-111.0.1.source.tar.xz.asc delete mode 100644 firefox-111.0.source.tar.xz delete mode 100644 firefox-111.0.source.tar.xz.asc rename l10n-111.0.tar.xz => l10n-111.0.1.tar.xz (100%) create mode 100644 mozilla-bmo1807652.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index d6a39a16..73eb675d 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Sun Mar 26 11:14:09 UTC 2023 - Wolfgang Rosenauer + +- Mozilla Firefox 111.0.1 (boo#1209688) + * Fixed a crash on macOS while pinch-zooming under some circumstances + (bmo#1658986) + * Fixed a bug causing Firefox to freeze on startup for some + Windows users (bmo#1823159) +- fix build on Tumbleweed (mozilla-bmo1807652.patch) + ------------------------------------------------------------------- Tue Mar 14 14:29:09 UTC 2023 - Wolfgang Rosenauer diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 16be1c76..7b0d8928 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -29,8 +29,8 @@ # major 69 # mainver %%major.99 %define major 111 -%define mainver %major.0 -%define orig_version 111.0 +%define mainver %major.0.1 +%define orig_version 111.0.1 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -228,6 +228,7 @@ Patch23: mozilla-bmo531915.patch Patch25: one_swizzle_to_rule_them_all.patch Patch26: svg-rendering.patch Patch27: mozilla-buildfixes.patch +Patch28: mozilla-bmo1807652.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -401,7 +402,7 @@ EOF # Done with env-variables. source ./.obsenv.sh -%ifarch aarch64 %arm ppc64 ppc64le riscv64 +%ifarch aarch64 %arm ppc64 ppc64le riscv64 %ix86 %limit_build -m 2500 %endif diff --git a/firefox-111.0.1.source.tar.xz b/firefox-111.0.1.source.tar.xz new file mode 100644 index 00000000..7bbd0a25 --- /dev/null +++ b/firefox-111.0.1.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84a4f3aba62df6e0451cdd28f8f1e59840d77c4062311947b0e59325c2ebdce8 +size 496209640 diff --git a/firefox-111.0.1.source.tar.xz.asc b/firefox-111.0.1.source.tar.xz.asc new file mode 100644 index 00000000..dce12860 --- /dev/null +++ b/firefox-111.0.1.source.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQZr4MACgkQ6+QekPbx +L21H0Q/+LBsVs0ozRECMsb5vCnoYxVs+LbP9p25ANApYCrsT806KjhKkGHMp76kJ +cSO8Zm77StATYWR0m8nNlfZKg7DRK1vncoBfmN8wCVdIZnTJDjkTKqPvIAKVdb46 +57XrNd/RyXL3j5rlb/w7oF1EUfjgVF8ztFBt1v7AMKSkTi0XBGTBeB7QymaToXkl +213qK4yKP8MG2LndQRo8AfX6d0CPAHGqaLVZHwzMi3JVVB5nyMVQsiEwurGxLEMj +EmQPcMhLGZmfV/AVonrJhxZcV3U2nvr+lqmb69z+WazqeGdLrwJ66aOn4clWgkFk +rVdWOH8eo8FHBThYlvjp76OMdZSfRb/33kuMf4Qso2avBQ1PjnD07MneblXS3uT1 +L4h/C3cwxwqwDTgJIxp8lKz3fHyan4aqGYowz7EDSyY//Z0onQ12KCkvyW5/366e +3koEizUNctbXaXl4VdrFl1AdwuIYQaX/44NwXcpI2tWm7utjOmeWmh6j2ZIzruds +PDr0rImdYvezydqDbDv2/eNhCkNhNsiApy0YwPfLGP4448bYuF6tlrjmLhl/A6cX +z8SgZgpkHG+RN0B6ttqgm2aftSdgsBQY77sMEMCBZ0zubbxbpDTAxHDj6RmQ9UK1 +tgY0XcPSM3/uWPrIiINd3vxGrODJkemBHLm16GMO8869zOCtjIw= +=cX4D +-----END PGP SIGNATURE----- diff --git a/firefox-111.0.source.tar.xz b/firefox-111.0.source.tar.xz deleted file mode 100644 index d939ed5c..00000000 --- a/firefox-111.0.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1006c0872aa7eb30fb5a689413957f1e5fc8d2048b1637bf6f6fafdbd4ea55f -size 495743080 diff --git a/firefox-111.0.source.tar.xz.asc b/firefox-111.0.source.tar.xz.asc deleted file mode 100644 index 0bad3964..00000000 --- a/firefox-111.0.source.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQKdI8ACgkQ6+QekPbx -L20sdBAArUNklpihJAgZBrUp5k7mSGfQRL5/4x2V2utbfC13IusTe8RmrLqcG0ql -o58wUTvCXaydCKA2+xb7eb9VTAk/6k/RjMI5sB+++rUgd6PtEMQ99D97/9rDNI9s -NgDTHJ9677e4Z3sW1gwC28aRM3kbJnjhX5n+RVbbD7a6D++H8r0rW8bSTtVTWWYy -cfoDCPuW3JRpvoh6TF9oBeKxs5Fx5Ts3tGwn2xt3OhYUdUxqH8cAMchgu53pBkgI -UF5jXSmkKJL3JrbGd/lJEtcJsVlBI6mZsUwSksxcdT7qHF0vaKu4uV92oosfNQTF -27LZm0t6bk0KzFxQcaUlMjoi9qf5UHu+36EdR89KL//1/nhUtujuxUuY9eR4uy70 -H2ykschlg527WbRgXR9cTVZZJelj6J0nBSNzDCi7ukF5C4ALlQwqHfqIbVUI1WPm -jMoIwpRg8oWJrug/X+UlRqiMm5Kd5aDl3kdTvB4wFVr6G1K4aAfU3qEUUA83M7gY -b5nNrCy4T4HLBP5xSDafMTGxdjhsDceJqMsrdPlpIV7vaX12rC/6gfjQSC7TvcQA -kMqhAMXf1INV2cpCtRO1sMxCmZx3rrJlXQ1pympRVBXBofZ+vHZq0qMVY3F4gvcy -G9od9NrjBYapCL2dntI9lZ6A31FgMOhJDxu6ZX+TbOK+BBQuJMI= -=4FUn ------END PGP SIGNATURE----- diff --git a/l10n-111.0.tar.xz b/l10n-111.0.1.tar.xz similarity index 100% rename from l10n-111.0.tar.xz rename to l10n-111.0.1.tar.xz diff --git a/mozilla-bmo1807652.patch b/mozilla-bmo1807652.patch new file mode 100644 index 00000000..e9b75542 --- /dev/null +++ b/mozilla-bmo1807652.patch @@ -0,0 +1,185 @@ +diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp +--- a/tools/profiler/core/platform.cpp ++++ b/tools/profiler/core/platform.cpp +@@ -1176,11 +1176,11 @@ + if (!profiledThreadData) { + // This thread was not profiled, continue with the next one. + continue; + } + ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = +- offThreadRef.LockedRWFromAnyThread(); ++ offThreadRef.GetLockedRWFromAnyThread(); + MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{ + profiledThreadData->Info().RegisterTime(), + lockedThreadData->GetJSContext(), profiledThreadData})); + } + +@@ -4208,11 +4208,11 @@ + ProfileBufferEntry::Kind::RunningTimes, runningTimesDiff); + } + + if (threadStackSampling) { + ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock +- lockedThreadData = offThreadRef.LockedRWFromAnyThread(); ++ lockedThreadData = offThreadRef.GetLockedRWFromAnyThread(); + // Suspend the thread and collect its stack data in the local + // buffer. + mSampler.SuspendAndSampleAndResumeThread( + lock, lockedThreadData.DataCRef(), now, + [&](const Registers& aRegs, const TimeStamp& aNow) { +@@ -4922,11 +4922,11 @@ + ThreadProfilingFeatures threadProfilingFeatures = + ActivePS::ProfilingFeaturesForThread( + aLock, aOffThreadRef.UnlockedConstReaderCRef().Info()); + if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { + ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock +- lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread(); ++ lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread(); + + ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( + aLock, MakeUnique( + aOffThreadRef.UnlockedConstReaderCRef().Info())); + lockedRWFromAnyThread->SetProfilingFeaturesAndData( +@@ -5788,11 +5788,11 @@ + + ThreadProfilingFeatures threadProfilingFeatures = + ActivePS::ProfilingFeaturesForThread(aLock, info); + if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { + ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = +- offThreadRef.LockedRWFromAnyThread(); ++ offThreadRef.GetLockedRWFromAnyThread(); + ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( + aLock, MakeUnique(info)); + lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures, + profiledThreadData, aLock); + lockedThreadData->GetNewCpuTimeInNs(); +@@ -6012,11 +6012,11 @@ + ThreadProfilingFeatures::NotProfiled) { + continue; + } + + ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = +- offThreadRef.LockedRWFromAnyThread(); ++ offThreadRef.GetLockedRWFromAnyThread(); + + lockedThreadData->ClearProfilingFeaturesAndData(aLock); + + if (ActivePS::FeatureJS(aLock)) { + lockedThreadData->StopJSSampling(); +@@ -6355,11 +6355,11 @@ + + // We don't call StopJSSampling() here; there's no point doing that for a JS + // thread that is in the process of disappearing. + + ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = +- aOnThreadRef.LockedRWOnThread(); ++ aOnThreadRef.GetLockedRWOnThread(); + + ProfiledThreadData* profiledThreadData = + lockedThreadData->GetProfiledThreadData(lock); + lockedThreadData->ClearProfilingFeaturesAndData(lock); + +@@ -6876,11 +6876,11 @@ + } + + // The profiler mutex must be locked before the ThreadRegistration's. + PSAutoLock lock; + ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = +- aOnThreadRef.LockedRWOnThread(); ++ aOnThreadRef.GetLockedRWOnThread(); + + if (ProfiledThreadData* profiledThreadData = + lockedThreadData->GetProfiledThreadData(lock); + profiledThreadData && ActivePS::Exists(lock) && + ActivePS::FeatureJS(lock)) { +diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h +--- a/tools/profiler/public/ProfilerThreadRegistration.h ++++ b/tools/profiler/public/ProfilerThreadRegistration.h +@@ -212,18 +212,18 @@ + + LockedRWOnThread& mLockedRWOnThread; + DataLock mDataLock; + }; + +- [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() { ++ [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() { + return RWOnThreadWithLock{mThreadRegistration->mData, + mThreadRegistration->mDataMutex}; + } + + template + auto WithLockedRWOnThread(F&& aF) { +- RWOnThreadWithLock lockedData = LockedRWOnThread(); ++ RWOnThreadWithLock lockedData = GetLockedRWOnThread(); + return std::forward(aF)(lockedData.DataRef()); + } + + // This is needed to allow OnThreadPtr::operator-> to return a temporary + // OnThreadRef object, for which `->` must work; Here it provides a pointer +diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h +--- a/tools/profiler/public/ProfilerThreadRegistry.h ++++ b/tools/profiler/public/ProfilerThreadRegistry.h +@@ -175,18 +175,18 @@ + + LockedRWFromAnyThread& mLockedRWFromAnyThread; + ThreadRegistration::DataLock mDataLock; + }; + +- [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() { ++ [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() { + return RWFromAnyThreadWithLock{mThreadRegistration->mData, + mThreadRegistration->mDataMutex}; + } + + template + auto WithLockedRWFromAnyThread(F&& aF) { +- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread(); ++ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread(); + return std::forward(aF)(lockedData.DataRef()); + } + + private: + // Only ThreadRegistry should construct an OnThreadRef. +diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp +--- a/tools/profiler/tests/gtest/GeckoProfiler.cpp ++++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp +@@ -620,11 +620,11 @@ + // non-const LockedRWOnThread + + EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); + { + TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock = +- aOnThreadRef.LockedRWOnThread(); ++ aOnThreadRef.GetLockedRWOnThread(); + EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); + TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(), + beforeRegistration, afterRegistration, + &onStackChar); + TestLockedRWOnThread(rwOnThreadWithLock.DataRef(), beforeRegistration, +@@ -1019,11 +1019,11 @@ + // non-const LockedRWFromAnyThread + + EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); + { + TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = +- aOffThreadRef.LockedRWFromAnyThread(); ++ aOffThreadRef.GetLockedRWFromAnyThread(); + if (profiler_current_thread_id() == testThreadId) { + EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); + } + TestLockedRWFromAnyThread(rwFromAnyThreadWithLock.DataRef(), + beforeRegistration, afterRegistration, +@@ -1156,11 +1156,11 @@ + aOffThreadRef) { + if (otherThreadLoops % 1000 == 0) { + PR_Sleep(PR_MillisecondsToInterval(1)); + } + TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = +- aOffThreadRef.LockedRWFromAnyThread(); ++ aOffThreadRef.GetLockedRWFromAnyThread(); + ++otherThreadReads; + if (otherThreadReads % 1000 == 0) { + PR_Sleep(PR_MillisecondsToInterval(1)); + } + }); + diff --git a/tar_stamps b/tar_stamps index c929967d..116d9387 100644 --- a/tar_stamps +++ b/tar_stamps @@ -1,10 +1,10 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="111.0" +VERSION="111.0.1" VERSION_SUFFIX="" -PREV_VERSION="110.0.1" +PREV_VERSION="111.0" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="97088d6d3b69ba54584eed707a64a2fe3277d24d" -RELEASE_TIMESTAMP="20230309232128" +RELEASE_TAG="6e9b4327e238def619d5640de74b611fe51834ba" +RELEASE_TIMESTAMP="20230321111920"