Updated to 109.0.1, Added fix for rhbz#2147344 / mzbz#1813500.
This commit is contained in:
parent
6163653e0d
commit
f2d423870e
2
.gitignore
vendored
2
.gitignore
vendored
@ -555,3 +555,5 @@ firefox-3.6.4.source.tar.bz2
|
||||
/firefox-langpacks-108.0.2-20230112.tar.xz
|
||||
/firefox-109.0.source.tar.xz
|
||||
/firefox-langpacks-109.0-20230111.tar.xz
|
||||
/firefox-109.0.1.source.tar.xz
|
||||
/firefox-langpacks-109.0.1-20230201.tar.xz
|
||||
|
12
firefox.spec
12
firefox.spec
@ -172,13 +172,13 @@ ExcludeArch: i686
|
||||
|
||||
Summary: Mozilla Firefox Web browser
|
||||
Name: firefox
|
||||
Version: 109.0
|
||||
Release: 4%{?pre_tag}%{?dist}
|
||||
Version: 109.0.1
|
||||
Release: 1%{?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
|
||||
%if %{with langpacks}
|
||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20230111.tar.xz
|
||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20230201.tar.xz
|
||||
%endif
|
||||
Source2: cbindgen-vendor.tar.xz
|
||||
Source10: firefox-mozconfig
|
||||
@ -251,6 +251,7 @@ Patch408: mozilla-1663844.patch
|
||||
Patch415: mozilla-1670333.patch
|
||||
Patch416: D164651.diff
|
||||
Patch417: D166324.diff
|
||||
Patch418: mozilla-1813500.patch
|
||||
|
||||
# PGO/LTO patches
|
||||
Patch600: pgo.patch
|
||||
@ -527,6 +528,7 @@ This package contains results of tests executed during build.
|
||||
%patch415 -p1 -b .1670333
|
||||
%patch416 -p1 -b .D164651
|
||||
%patch417 -p1 -b .D166324
|
||||
%patch418 -p1 -b .1813500
|
||||
|
||||
# PGO patches
|
||||
%if %{build_with_pgo}
|
||||
@ -1080,6 +1082,10 @@ fi
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Wed Feb 1 2023 Martin Stransky <stransky@redhat.com>- 109.0.1-1
|
||||
- Updated to 109.0.1
|
||||
- Added fix for rhbz#2147344 / mzbz#1813500.
|
||||
|
||||
* Thu Jan 19 2023 Martin Stransky <stransky@redhat.com>- 109.0-4
|
||||
- Removed mozbz#1809162
|
||||
|
||||
|
94
mozilla-1813500.patch
Normal file
94
mozilla-1813500.patch
Normal file
@ -0,0 +1,94 @@
|
||||
changeset: 651243:ff57728124c6
|
||||
tag: tip
|
||||
parent: 651233:dd0fdd1daa69
|
||||
user: stransky <stransky@redhat.com>
|
||||
date: Tue Jan 31 15:53:38 2023 +0100
|
||||
files: widget/gtk/GfxInfo.cpp
|
||||
description:
|
||||
Bug 1813500 [Linux] Don't hang Firefox when glxtest process hangs r?emilio,rmader
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D168385
|
||||
|
||||
|
||||
diff --git a/widget/gtk/GfxInfo.cpp b/widget/gtk/GfxInfo.cpp
|
||||
--- a/widget/gtk/GfxInfo.cpp
|
||||
+++ b/widget/gtk/GfxInfo.cpp
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <string>
|
||||
+#include <poll.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <sys/wait.h>
|
||||
@@ -29,6 +30,9 @@
|
||||
#include "WidgetUtilsGtk.h"
|
||||
#include "MediaCodecsSupport.h"
|
||||
|
||||
+// How long we wait for data from glxtest process in milliseconds.
|
||||
+#define GLXTEST_TIMEOUT 4000
|
||||
+
|
||||
#define EXIT_STATUS_BUFFER_TOO_SMALL 2
|
||||
#ifdef DEBUG
|
||||
bool fire_glxtest_process();
|
||||
@@ -99,12 +103,28 @@ void GfxInfo::GetData() {
|
||||
// information in a separate process to protect against bad drivers.
|
||||
|
||||
// if glxtest_pipe == -1, that means that we already read the information
|
||||
- if (glxtest_pipe == -1) return;
|
||||
+ if (glxtest_pipe == -1) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ const TimeStamp deadline =
|
||||
+ TimeStamp::Now() + TimeDuration::FromMilliseconds(GLXTEST_TIMEOUT);
|
||||
|
||||
enum { buf_size = 2048 };
|
||||
char buf[buf_size];
|
||||
- ssize_t bytesread = read(glxtest_pipe, &buf,
|
||||
- buf_size - 1); // -1 because we'll append a zero
|
||||
+ ssize_t bytesread = 0;
|
||||
+
|
||||
+ struct pollfd pfd {};
|
||||
+ pfd.fd = glxtest_pipe;
|
||||
+ pfd.events = POLLIN;
|
||||
+ auto ret = poll(&pfd, 1, GLXTEST_TIMEOUT);
|
||||
+ if (ret <= 0) {
|
||||
+ gfxCriticalNote << "glxtest: failed to read data from glxtest, we may "
|
||||
+ "fallback to software rendering\n";
|
||||
+ } else {
|
||||
+ // -1 because we'll append a zero
|
||||
+ bytesread = read(glxtest_pipe, &buf, buf_size - 1);
|
||||
+ }
|
||||
close(glxtest_pipe);
|
||||
glxtest_pipe = -1;
|
||||
|
||||
@@ -129,9 +149,9 @@ void GfxInfo::GetData() {
|
||||
int waitpid_errno = 0;
|
||||
while (wait_for_glxtest_process) {
|
||||
wait_for_glxtest_process = false;
|
||||
- if (waitpid(glxtest_pid, &glxtest_status, 0) == -1) {
|
||||
+ if (waitpid(glxtest_pid, &glxtest_status, WNOHANG) == -1) {
|
||||
waitpid_errno = errno;
|
||||
- if (waitpid_errno == EINTR) {
|
||||
+ if (waitpid_errno == EAGAIN || waitpid_errno == EINTR) {
|
||||
wait_for_glxtest_process = true;
|
||||
} else {
|
||||
// Bug 718629
|
||||
@@ -142,6 +162,15 @@ void GfxInfo::GetData() {
|
||||
waiting_for_glxtest_process_failed = (waitpid_errno != ECHILD);
|
||||
}
|
||||
}
|
||||
+ if (wait_for_glxtest_process) {
|
||||
+ if (TimeStamp::Now() > deadline) {
|
||||
+ gfxCriticalNote << "glxtest: glxtest process hangs\n";
|
||||
+ waiting_for_glxtest_process_failed = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ // Wait 100ms to another waitpid() check.
|
||||
+ usleep(100000);
|
||||
+ }
|
||||
}
|
||||
|
||||
int exit_code = EXIT_FAILURE;
|
||||
|
2
sources
2
sources
@ -2,3 +2,5 @@ SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2
|
||||
SHA512 (mochitest-python.tar.gz) = e0a2c569dafe013b6a4c073516388549a8f398d8aa4538a3bc69dcda44737a3a3cf070285e9fa040a15d7a62446665c6158d42a1b6dc3e8d7f4680bc2ef17a16
|
||||
SHA512 (firefox-langpacks-109.0-20230111.tar.xz) = 8a07111d28ae40a4761ffec839b51cb391291befd45adc18bbd6e20ded1e89aedbe69ae54f47aaf354cdd70f92d22833cf254ec1405930c9cd6d785e9d5c0daf
|
||||
SHA512 (firefox-109.0.source.tar.xz) = 9e2b6e20353e414da3d2eb9dcd3d77757664a98a4438a8e84f19a1c7c203e40136b08bf96a458fac05ddc627347217d32f1f6337980c5ca918874993657a58e7
|
||||
SHA512 (firefox-109.0.1.source.tar.xz) = 58b21449a16a794152888f50e7fe9488c28739a7e067729acdc1de9f2e8384e6316cffdfe89f690f0d211189668d940825b4f8a26b8100468ae120772df99d72
|
||||
SHA512 (firefox-langpacks-109.0.1-20230201.tar.xz) = d8497c53466650d06db44382b6e8a1ac337205c820f67b9a635a7ecc7001eaa4b9391de3f7e88e2f3602510150c54e128723915366438c296f7e15e729f87fb2
|
||||
|
Loading…
Reference in New Issue
Block a user