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

Bug 917645

Summary: www-client/chromium-119.0.6045.159: recompile error text_break_iterator.cc:230:15: error: static assertion failed due to requirement 'std::size(kBreakAllLineBreakClassTable) == (U_LB_COUNT - 3)'
Product: Gentoo Linux Reporter: MrSnivvel <gentoobugs>
Component: Current packagesAssignee: Chromium Project <chromium>
Status: RESOLVED FIXED    
Severity: normal CC: crabbedhaloablution, finkandreas, fordfrog, kangie, leonchik1976, me, mike, orzel, sam, sarnex, silvio.gerli
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=917633
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 917634    
Attachments: build.log split into 2 pieces, XZ compressed.
build.log split into 2 pieces, XZ compressed.

Description MrSnivvel 2023-11-20 20:00:33 UTC
../../third_party/blink/renderer/platform/text/text_break_iterator.cc:230:15: error: static assertion failed due to requirement 'std::size(kBreakAllLineBreakClassTable) == (U_LB_COUNT - 3)': breakAllLineBreakClassTable should be consistent
  230 | static_assert(std::size(kBreakAllLineBreakClassTable) == BA_LB_COUNT,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/blink/renderer/platform/text/text_break_iterator.cc:230:55: note: expression evaluates to '40 == 45'
  230 | static_assert(std::size(kBreakAllLineBreakClassTable) == BA_LB_COUNT,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

Reproducible: Always




Portage 3.0.55 (python 3.12.0-final-0, default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr, gcc-13, glibc-2.38-r7, 6.6.1-gentoo-x86_64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.1-gentoo-x86_64-x86_64-AMD_Ryzen_Threadripper_PRO_3955WX_16-Cores-with-glibc2.38
KiB Mem:   131725540 total,  44081948 free
KiB Swap:   32767996 total,  31902204 free
Timestamp of repository gentoo: Mon, 20 Nov 2023 19:30:01 +0000
Head commit of repository gentoo: d9712b1358dc1b64933c3090d72153aae3270f25
Timestamp of repository guru: Mon, 20 Nov 2023 14:31:52 +0000
Head commit of repository guru: 4d55859b25b188e06ded0db1d733744954c27932

Timestamp of repository sage-on-gentoo: Sun, 19 Nov 2023 16:17:25 +0000
Head commit of repository sage-on-gentoo: 5728ce9b83c82173d445e2ba8843e680fdd2d4a4

Head commit of repository torbrowser: 003c3af2cf310b9d7979437a3705140de302963a

Head commit of repository nitratesky: 78a81a38092019aadfce37f9aeebbbb76d1134a3

Head commit of repository steam-overlay: 9f702b31ca4cc4f3b41b34ebf18fcf1b2c095231

Timestamp of repository nest: Sun, 19 Nov 2023 18:46:45 +0000
Head commit of repository nest: 0d1f34f49eb4d4955ca6e0f614f4da1d6bd8d266

sh bash 5.2_p21
ld GNU ld (Gentoo 2.40 p5) 2.40.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p21::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.0-r1::gentoo
dev-lang/python:           3.10.13::gentoo, 3.11.6::gentoo, 3.12.0_p1::gentoo
dev-lang/rust-bin:         1.73.0::gentoo
dev-util/cmake:            3.27.7::gentoo
dev-util/meson:            1.3.0::gentoo
sys-apps/baselayout:       2.14-r1::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-apps/systemd:          254.6::gentoo
sys-devel/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r5::gentoo, 2.41-r2::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.5::gentoo
sys-devel/gcc:             13.2.1_p20231014::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             17.0.5::gentoo
sys-devel/llvm:            15.0.7-r3::gentoo, 16.0.6::gentoo, 17.0.5::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r7::gentoo
Repositories:

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

guru
    location: /usr/local/portage/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: True

local-grotto
    location: /usr/local/portage/local-grotto
    masters: gentoo
    volatile: True

sage-on-gentoo
    location: /usr/local/portage/sage-on-gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/sage-on-gentoo.git
    masters: gentoo
    volatile: True

torbrowser
    location: /usr/local/portage/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    masters: gentoo
    volatile: True

nitratesky
    location: /usr/local/portage/nitratesky
    sync-type: git
    sync-uri: https://github.com/VTimofeenko/nitratesky
    masters: gentoo nest
    priority: 50
    volatile: True

steam-overlay
    location: /usr/local/portage/steam-overlay
    sync-type: git
    sync-uri: https://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50
    volatile: True

nest
    location: /usr/local/portage/nest
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/nest.git
    masters: gentoo
    priority: 99
    volatile: True

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/17.1/x86-64

Installed sets: @ai, @desktop, @devops, @fonts, @games, @utils
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -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/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="en en_US"
MAKEOPTS="-j48"
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"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 ao apache2 appindicator archive atasmart autotype awt bluetooth boot boto branding browser btpclient btrfs bzip2 cairo calendar caps cdda cddb cdr chromium cli connection-sharing context crypt cups curl dbus declarative development device-mapper dia down-root dri drm dts dvd dvdr eap-tls egl elfutils encode epspdf exif extensions extra extraengine fdk ffmpge flac fortran fpm freerdp games gcj gd gdata gdbm geckodriver gentoo-vm gif gimp git glamor gles gles1 gles2 gltf gnome-keyring gpg gpm graph graphics gstreamer gtk gtk3 gui hcitop hddtemp http humanities hwaccel iconv icu imagemagick iproute2 iptables ipv6 jack javascript jemalloc jpeg jpeg2k json kernel-install kwallet lcms ldac libkms libnotify libtirpc libvirt lm-sensors lm_sensors login lto lxc lz4 lzma mad matroska maxminddb mediaplayer mms mmx mmxext mng mod modplug mp3 mp4 mpeg mtp multilib music mysql mysqli mysqlnd ncat ncurses network networkmanager nfs nfsv4 nfsv41 nftables nls notification nping nptl ocr odf offensive ofono ofx ogg omega opencl opengl openmp opus osmesa ozone pam pango pcre pda pdf pdfannotextractor pdfimport pdo pgo php pipewire plasma png policykit postgres postproc ppds printsupport profiling pstricks publishers pulseaudio python qml qt5 raw readline redis rrdcgi s3tc science sdl seccomp semantic-desktop sendto sensord slib soap sockets sound speex spell spice sqlite srt sse sse2 sse3 sse4.1 sse4.2 ssh ssl ssse3 staging startup-notification svc svg syntax-check system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-llvm system-sqlite systemd systemtap sysv-utils sysvipc terminal test-rust tex4ht texi2html tfshark theora threads thunar tiff tools tor-hardening tproxy tray trayicon truetype udev udisks unicode update_drivedb upower usb user-session uvm v4l vaapi vdpau vector-icons vim vim-syntax visio vkd3d vlc vnc vorbis vpx vte vulkan vulkan-overlay wayland webp widevine widgets wireshark-plugins wxwidgets x264 x265 xa xattr xcb xcomposite xetex xface xft xinerama xml xmlwriter xrandr xsl xslt xv xvfb xvid xvmc zip zlib zsh-completion zsh-completions" ABI_X86="64 32" ADA_TARGET="gnat_2021" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_core authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation proxy proxy_balancer proxy_connect proxy_fdpass proxy_fcgi proxy_http proxy_scgi proxy_wstunnel ratelimit rewrite setenvif slotmem_shm socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" APACHE2_MPMS="event" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput synaptics" KERNEL="linux" L10N="en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LUA_SINGLE_TARGET="luajit lua5-4" LUA_TARGETS="lua5-1" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi gunzip gzip_static metrics mp4 naxsi security realip stub_status pcre-jit" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_10 python3_11 python3_12" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby31 ruby32" SANE_BACKENDS="epson epson2 net" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

=================================================================
                        Package Settings
=================================================================

www-client/chromium-119.0.6045.159::gentoo was built with the following:
USE="X cups hangouts lto official proprietary-codecs pulseaudio qt5 system-harfbuzz system-icu system-png system-zstd vaapi wayland widevine -custom-cflags -debug -gtk4 (-headless) -kerberos -libcxx -pax-kernel (-pgo) -qt6 -screencast (-selinux)" ABI_X86="(64)" L10N="-af -am -ar -bg -bn -ca -cs -da -de -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 -ur -vi -zh-CN -zh-TW"
CFLAGS="-march=native -O2 -pipe -Wno-unknown-warning-option"
CXXFLAGS="-march=native -O2 -pipe -Wno-unknown-warning-option"
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-11-20 20:05:19 UTC
Can you include the full build.log compressed please? Thanks
Comment 2 MrSnivvel 2023-11-20 20:18:19 UTC
Created attachment 875258 [details]
build.log split into 2 pieces, XZ compressed.
Comment 3 MrSnivvel 2023-11-20 20:18:38 UTC
Created attachment 875259 [details]
build.log split into 2 pieces, XZ compressed.
Comment 4 MrSnivvel 2023-11-20 20:19:31 UTC
For reference, build.log was split with this: split --number=2 build.log build.log.
Comment 5 anna 2023-11-20 21:24:27 UTC
I am also having it fail and also webkit is failing as well, it is highly likely these are related bugs:

https://bugs.gentoo.org/917508
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-11-21 07:13:36 UTC
(In reply to anna from comment #5)

That one is libxml2.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-11-21 07:18:18 UTC
Alpine are doing the same workaround as for qtwebengine (https://git.alpinelinux.org/aports/tree/community/chromium/chromium-icu-74.patch?id=458952ec67312f66e1e4dc693462f021f9ecc463).
Comment 8 Leonid Kopylov 2023-11-21 10:10:54 UTC
isn't it the same as https://bugs.gentoo.org/917529 ?
Comment 9 Alfred Wingate 2023-11-21 11:28:05 UTC
The patch from qtwebengine:6 should most likely apply cleanly (at most have to change paths), but its a workaround so a proper upstream fix is required to ensure brahmic scripts doesn't have weird line breaks.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-11-21 19:29:45 UTC
(In reply to Leonid Kopylov from comment #8)
> isn't it the same as https://bugs.gentoo.org/917529 ?

That issue is libxml2.
Comment 11 Larry the Git Cow gentoo-dev 2023-11-21 22:36:13 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5aa51046dca2c2b91565933eb81a2ba11d2012fb

commit 5aa51046dca2c2b91565933eb81a2ba11d2012fb
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2023-11-21 19:02:54 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2023-11-21 22:19:54 +0000

    dev-qt/qtwebengine: add 5.15.11_p20231120, fix build w/ libxml2-2.12
    
    Bug: https://bugs.gentoo.org/917645
    Closes: https://bugs.gentoo.org/917601
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...twebengine-5.15.11_p20231120-libxml2-2.12.patch |  43 +++
 .../qtwebengine-5.15.11_p20231120.ebuild           | 287 +++++++++++++++++++++
 3 files changed, 331 insertions(+)
Comment 12 Thomas Capricelli 2023-11-22 13:38:53 UTC
I got a very very similar error, although slightly later in the same file:

../../third_party/blink/renderer/platform/text/text_break_iterator.cc:230:55: error: static assertion failed: breakAllLineBreakClassTable should be consistent
  230 | static_assert(std::size(kBreakAllLineBreakClassTable) == BA_LB_COUNT


That's for www-client/chromium-119.0.6045.105:0/stable::gentoo (current stable amd64), not the .159 of original report.

I dont see how #917508 is anything related (but i admit being kinda lost).

For the record dev-libs/libxml2-2.11.6 is installed on my system (not 2.12.x which seems problematic), but maybe chromium ships its own copy ? I can't see a system-libxml[,2] flag. I do have +system-icu
Comment 13 Alfred Wingate 2023-11-23 11:23:26 UTC
LibXML2 is red herring for this bug the other bugs with libxml2 are entirely unrelated. This is due to ICU-74 upgrade. See https://bugs.gentoo.org/917634 and the qtwebengine bugs in particular.
Comment 14 Thomas Capricelli 2023-11-23 12:57:00 UTC
That's what i think as well.
Comment 15 Mike Lothian 2023-11-23 18:49:52 UTC
The patch here https://git.alpinelinux.org/aports/tree/community/chromium/chromium-icu-74.patch?id=458952ec67312f66e1e4dc693462f021f9ecc463 got things working for me just fine
Comment 16 Jan Breig 2023-11-23 23:28:48 UTC
The build works for me with bundled icu (USE="-system-icu")
Comment 17 Larry the Git Cow gentoo-dev 2023-11-24 22:48:38 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebf5fd28b663af33956cbda5b68dc758400b51ba

commit ebf5fd28b663af33956cbda5b68dc758400b51ba
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-11-24 22:47:25 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-11-24 22:48:07 +0000

    www-client/chromium: fix compat. w/ icu-74.1
    
    Use the same workaround as for qtwebengine:6.
    
    Closes: https://bugs.gentoo.org/917645
    Signed-off-by: Sam James <sam@gentoo.org>

 .../chromium/chromium-119.0.6045.159-r1.ebuild     | 1258 ++++++++++++++++++++
 .../files/chromium-119.0.6045.159-icu-74.patch     |   21 +
 2 files changed, 1279 insertions(+)
Comment 18 devsk 2023-11-27 20:41:45 UTC
Should we port the patch to stable release (amd64) also? Its failing with the same compile error.
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-11-27 20:52:14 UTC
(In reply to devsk from comment #18)
> Should we port the patch to stable release (amd64) also? Its failing with
> the same compile error.

New ICU isn't stable and this Chromium will be made stable soon anyway.