aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2019-06-08 11:29:39 +0800
committerTing-Wei Lan <lantw44@gmail.com>2019-06-08 11:29:39 +0800
commit69151a51912e330b98a6c8d859f08cce791de3a6 (patch)
treeffa778560ee58f86195a47bab218b4c7a72e2622
parentddf975d41b0e07441c7711197900ee96de09aed3 (diff)
downloadcopr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar.gz
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar.bz2
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar.lz
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar.xz
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.tar.zst
copr-rpm-spec-69151a51912e330b98a6c8d859f08cce791de3a6.zip
chromium: Fix crash on Fedora 30
-rw-r--r--chromium/chromium/chromium-gcc9-r666279.patch59
-rw-r--r--chromium/chromium/chromium.spec8
2 files changed, 65 insertions, 2 deletions
diff --git a/chromium/chromium/chromium-gcc9-r666279.patch b/chromium/chromium/chromium-gcc9-r666279.patch
new file mode 100644
index 0000000..0e8b680
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r666279.patch
@@ -0,0 +1,59 @@
+From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Wed, 5 Jun 2019 14:45:06 +0000
+Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When RenderProcessUserData is destroyed from the destructor of
+RenderProcessHostImpl, it is done in the destructor of RenderProcessHost.
+At this point RemoveObserver override is already freed, so RenderProcessHost
+is pure virtual. This crash happens at least building with GCC:
+
+ at /usr/include/c++/8/ext/new_allocator.h:140
+ (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964
+
+We need to destroy RenderProcessUserData before that happens. To do that
+we can just override RenderProcessHostDestroyed.
+
+Bug: 910288
+Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366
+Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
+Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#666279}
+---
+ .../browser/performance_manager/render_process_user_data.cc | 5 +++++
+ .../browser/performance_manager/render_process_user_data.h | 1 +
+ 2 files changed, 6 insertions(+)
+
+diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc
+index 2e2c199d4fff..ef6e1fbfb986 100644
+--- a/chrome/browser/performance_manager/render_process_user_data.cc
++++ b/chrome/browser/performance_manager/render_process_user_data.cc
+@@ -116,4 +116,9 @@ void RenderProcessUserData::RenderProcessExited(
+ base::Unretained(process_node_.get()), info.exit_code));
+ }
+
++void RenderProcessUserData::RenderProcessHostDestroyed(
++ content::RenderProcessHost* host) {
++ host->RemoveUserData(kRenderProcessUserDataKey);
++}
++
+ } // namespace performance_manager
+diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h
+index ac74b1df2040..f3b4d162e6d3 100644
+--- a/chrome/browser/performance_manager/render_process_user_data.h
++++ b/chrome/browser/performance_manager/render_process_user_data.h
+@@ -47,6 +47,7 @@ class RenderProcessUserData : public base::SupportsUserData::Data,
+ void RenderProcessExited(
+ content::RenderProcessHost* host,
+ const content::ChildProcessTerminationInfo& info) override;
++ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
+
+ // All instances are linked together in a doubly linked list to allow orderly
+ // destruction at browser shutdown time.
+--
+2.21.0
+
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index c4448ab..3c01d80 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -48,7 +48,7 @@
Name: chromium
Version: 75.0.3770.80
-Release: 100%{?dist}
+Release: 101%{?dist}
Summary: A WebKit (Blink) powered web browser
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -96,7 +96,8 @@ Patch60: chromium-python2.patch
# Pull upstream patches
Patch70: chromium-angle-gcc9.patch
Patch71: chromium-gcc9-r654570.patch
-Patch72: chromium-gcc9-r666714.patch
+Patch72: chromium-gcc9-r666279.patch
+Patch73: chromium-gcc9-r666714.patch
# Pull patches from Fedora
# https://src.fedoraproject.org/rpms/chromium/c/9071ee2d2f996b84
@@ -640,6 +641,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Sat Jun 08 2019 - Ting-Wei Lan <lantw44@gmail.com> - 75.0.3770.80-101
+- Fix crash on Fedora 30
+
* Fri Jun 07 2019 - Ting-Wei Lan <lantw44@gmail.com> - 75.0.3770.80-100
- Update to 75.0.3770.80