Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 669586

Summary: www-client/chromium-70.0.3538.67 - redefinition of kForcedInvocationDeadline
Product: Gentoo Linux Reporter: Oliver Schwabedissen <Oliver>
Component: Current packagesAssignee: Chromium Project <chromium>
Status: RESOLVED FIXED    
Severity: normal CC: Oliver
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Compressed build.log
Patch #1
Patch #2

Description Oliver Schwabedissen 2018-10-25 15:32:37 UTC
Created attachment 552866 [details]
Compressed build.log

On my system build of chromium-70.0.3538.67 failed with

In file included from gen/third_party/blink/renderer/core/editing/editing_jumbo_2.cc:110:
./../../third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc:38:21: error: redefinition
 of 'kForcedInvocationDeadline'
constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
                    ^
./../../third_party/blink/renderer/core/editing/finder/text_finder.cc:71:21: note: previous definition is here
constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
                    ^
1 error generated.


fedeliallalinea was so nice to point me to a patch (https://forums.gentoo.org/viewtopic.php?p=8274834) that fixed the problem.

The patch is described in https://chromium.googlesource.com/chromium/src/+/5d5ab1d3bda4fcc55bb761df052f6a58a29c8aa4%5E%21/

I applied the patches and chromium-70.0.3538.67 compiled without problems.


$ emerge -pqv '=www-client/chromium-70.0.3538.67::gentoo'
[ebuild     U ] www-client/chromium-70.0.3538.67 [69.0.3497.100] USE="cups hangouts jumbo-build (pic) proprietary-codecs pulseaudio suid -component-build -custom-cflags -gnome-keyring -kerberos (-neon) (-selinux) (-system-ffmpeg) (-system-icu) (-system-libvpx) (-tcmalloc) -widevine" L10N="de -am -ar -bg -bn -ca -cs -da -el -en-GB -es -es-419 -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt-BR -pt-PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW" 


$ emerge --info '=www-client/chromium-70.0.3538.67::gentoo
Portage 2.3.49 (python 2.7.15-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-7.3.0, glibc-2.27-r6, 4.14.65-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.14.65-gentoo-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.4.1
KiB Mem:    14324324 total,   5135456 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Thu, 25 Oct 2018 00:45:01 +0000
Head commit of repository gentoo: 371794f20c7eb2b88cae2619b6fa3444452aafb4
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p5) 2.30.0
ccache version 3.3.4 [enabled]
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.4.8::gentoo, 3.6.5::gentoo
dev-util/ccache:          3.3.4-r1::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.38.3::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.13.4-r2::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.27-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

hamper-overlay
    location: /var/lib/layman/hamper-overlay
    masters: gentoo
    priority: 50

mv
    location: /var/lib/layman/mv
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://gentoo.imj.fr/pub/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://mirror.qubenet.net/mirror/gentoo/ rsync://mirror.netcologne.de/gentoo/"
LANG="de_DE.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en_US"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aalib acl acpi activities aes alsa amd64 asf asyncns audiofile avalon avx bash-completion berkdb branding bzip2 cairo caps cdda cdparanoia cdr chm cli clucene consolekit corefonts crypt css ctype cups cxx dbm dbus declarative display-manager dri dts dvd dvdnav dvdr emboss encode exif expat extras fam fbcon ffmpeg flac fontconfig foomaticdb fortran ftp g3dvl gcj gd gdbm gif gimp glamor glib glut gphoto2 gpm gpssync graphviz grub gs gstreamer010 gtk hddtemp hpcups iconv icu id3 idn imagemagick imap imlib inotify ipv6 java javafx javascript jpeg jpeg2k jumbo-build kde kipi kmod kwallet lame lastfm lcms legacy-systray libnotify libtirpc lm_sensors logrotate lzma lzo mad matroska mbox melt mikmod mime mjpeg mmx mmxext mng mp3 mp4 mpeg mplayer msn mtp multilib musicbrainz mysql ncurses nfsidmap nfsv3 nls npp nptl nsplugin ntfsprogs nvenc offensive ogg ole openexr opengl openmp opus pam pango pcre pcsc-lite pdf plasma plymouth pmu png policykit popcnt posix ppds pulseaudio qml qt5 quicktime rdesktop readline redeyes rpc rtc samba scanner sddm sdk sdl seccomp semantic-desktop sensord server sieve smartcard smp snmp sockets sox spell sqlite sqlite3 sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification subversion svg syslog tcl tcpd templates threads tiff tk tools truetype twolame udev udisks unicode upnp upower ups_drivers_apcsmart ups_drivers_apcupsd-ups urandom usb v4l vcd vdpau vim-syntax virtualbox vorbis wallpapers wav wavpack widgets wxwidgets x264 x265 xattr xcb xcomposite xft xine xinetd xml xosd xpm xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev vga v4l v4l2" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Oliver Schwabedissen 2018-10-25 15:34:02 UTC
Created attachment 552868 [details, diff]
Patch #1
Comment 2 Oliver Schwabedissen 2018-10-25 15:34:28 UTC
Created attachment 552870 [details, diff]
Patch #2
Comment 3 Oliver Schwabedissen 2018-11-23 23:19:19 UTC
The same error occurred when compiling chromium-70.0.3538.110.

I had to modify patch #1 as the line numbers changed. With these patches chromium-70.0.3538.110 compiled without problems.

Modified patch #1

diff --git a/third_party/blink/renderer/core/editing/finder/text_finder.cc b/third_party/blink/renderer/core/editing/finder/text_finder.cc
index 3c0dcd3..4326d20 100644
--- a/third_party/blink/renderer/core/editing/finder/text_finder.cc
+++ b/third_party/blink/renderer/core/editing/finder/text_finder.cc
@@ -68,7 +68,7 @@
 namespace blink {
 
 namespace {
-constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
+constexpr TimeDelta kTextFinderTestTimeout = TimeDelta::FromSeconds(10);
 }
 
 TextFinder::FindMatch::FindMatch(Range* range, int ordinal)
@@ -894,7 +894,7 @@ void TextFinder::ScopeStringMatchesSoon(int identifier,
   // https://crbug.com/875203
   if (options.run_synchronously_for_testing) {
     ScopeStringMatches(
-        IdleDeadline::Create(CurrentTimeTicks() + kForcedInvocationDeadline,
+        IdleDeadline::Create(CurrentTimeTicks() + kTextFinderTestTimeout,
                              IdleDeadline::CallbackType::kCalledWhenIdle),
         identifier, search_text, options);
   } else {
Comment 4 Oliver Schwabedissen 2018-11-24 12:45:07 UTC
I had the same problem again when emerging chromium-70.0.3538.110. Luckily I only had to modify patch #1 slightly as one line number changed.

Modified patch #1 (chromium-70.0.3538.110-text_finder.patch):

diff --git a/third_party/blink/renderer/core/editing/finder/text_finder.cc b/third_party/blink/renderer/core/editing/finder/text_finder.cc
index 3c0dcd3..4326d20 100644
--- a/third_party/blink/renderer/core/editing/finder/text_finder.cc
+++ b/third_party/blink/renderer/core/editing/finder/text_finder.cc
@@ -68,7 +68,7 @@
 namespace blink {
 
 namespace {
-constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
+constexpr TimeDelta kTextFinderTestTimeout = TimeDelta::FromSeconds(10);
 }
 
 TextFinder::FindMatch::FindMatch(Range* range, int ordinal)
@@ -894,7 +894,7 @@ void TextFinder::ScopeStringMatchesSoon(int identifier,
   // https://crbug.com/875203
   if (options.run_synchronously_for_testing) {
     ScopeStringMatches(
-        IdleDeadline::Create(CurrentTimeTicks() + kForcedInvocationDeadline,
+        IdleDeadline::Create(CurrentTimeTicks() + kTextFinderTestTimeout,
                              IdleDeadline::CallbackType::kCalledWhenIdle),
         identifier, search_text, options);
   } else {

Patch #2 (chromium-70.0.3538.110-idle_spell_check_controller.patch) didn't change from v70.0.3538.67.

After applying these two patches chromium-70.0.3538.110 compiled without errors.
Comment 5 Oliver Schwabedissen 2018-11-24 12:47:44 UTC
Sorry for the double post. My system froze yesterday while I was commenting this bug and I didn't see comment #3 today so I wrote it again.
Comment 6 Oliver Schwabedissen 2018-12-09 13:45:40 UTC
Fixed in www-client/chromium-71.0.3578.80.