ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.7k stars 834 forks source link

395 IOT instruction chromium #2802

Closed mrusme closed 6 months ago

mrusme commented 6 months ago

OS/Platform

Gentoo

Installed

Compiled from source

Version

123.0.6312.122_p1

Have you tested that this is not an upstream issue or an issue with your configuration?

Description

Assertion 'this->_M_is_engaged()' failed

How to Reproduce?

  1. Install a fresh version of ungoogled-chromium via pf4public
  2. Launch chromium and install https://github.com/NeverDecaf/chromium-web-store
  3. Install a handful of extensions: Decentraleyes, uBlock Origin, Alby, Metamask, Surfingkeys
  4. Chromium will eventually crash
  5. Won't start anymore

Actual behaviour

Chromium cannot be started any more.

Expected behaviour

Normal behavior.

Relevant log output

[395:409:0413/134020.690342:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[395:409:0413/134020.690383:ERROR:select_file_dialog_linux_portal.cc(286)] Failed to read portal version property
[395:395:0413/134020.700424:ERROR:policy_logger.cc(157)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(161) Cloud management controller initialization aborted as CBCM is not enabled. Please use the `--enable-chrome-browser-cloud-management` command line flag to enable it if you are not using the official Google Chrome build.
/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/optional:479: _Tp &std::_Optional_base_impl<content::DocumentAssociatedData, std::_Optional_base<content::DocumentAssociatedData>>::_M_get() [_Tp = content::DocumentAssociatedData, _Dp = std::_Optional_base<content::DocumentAssociatedData>]: Assertion 'this->_M_is_engaged()' failed.
[1]    395 IOT instruction  chromium

Additional context

▲ ~ equery u ungoogled-chromium
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for www-client/ungoogled-chromium-123.0.6312.122_p1:
 U I
 - - X                        : Add support for X11
 + + bluetooth                : Enable Bluetooth. Disabling bluetooth does break WebAuthn. Could also break something else. Improved patch
                                is welcome.
 - - cfi                      : Build with CFI (Control Flow Integrity) enabled. It requires "-stdlib=libc++", see #40 for more details.
 + + clang                    : Use Clang compiler instead of GCC
 - - convert-dict             : Patch and build the convert_dict utility. The script will be installed into
                                /usr/lib64/chromium-browser/update-dicts.sh. More info here:
                                https://github.com/ungoogled-software/ungoogled-chromium/issues/188#issuecomment-444752907
 - - cromite                  : Apply also select patches from Cromite. Highly experimental! Please consider Cromite licensing terms when
                                deciding if you're allowed to distribute binaries built with these patches.
 - - cups                     : Add support for CUPS (Common Unix Printing System)
 - - custom-cflags            : Build with user-specified CFLAGS (unsupported)
 - - debug                    : Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and
                                development, NOT RECOMMENDED for general use.
 + + enable-driver            : Build chromedriver
 + + gtk4                     : Build with GTK4 headers
 + + hangouts                 : Enable support for Google Hangouts features such as screen sharing
 - - headless                 : Build Ozone only with headless backend, NOT RECOMMENDED for general uses
 - - hevc                     : Enable HEVC decoding support. Should work with system-ffmpeg, but might require additional patching for
                                the built-in one.
 - - kerberos                 : Add kerberos support
 + + l10n_af                  : Afrikaans
 + + l10n_am                  : Amharic
 + + l10n_ar                  : Arabic
 + + l10n_bg                  : Bulgarian
 + + l10n_bn                  : Bengali
 + + l10n_ca                  : Catalan
 + + l10n_cs                  : Czech
 + + l10n_da                  : Danish
 + + l10n_de                  : German
 + + l10n_el                  : Modern Greek
 + + l10n_en-GB               : English (United Kingdom)
 + + l10n_es                  : Spanish
 + + l10n_es-419              : Spanish (Latin America)
 + + l10n_et                  : Estonian
 + + l10n_fa                  : Persian
 + + l10n_fi                  : Finnish
 + + l10n_fil                 : Filipino
 + + l10n_fr                  : French
 + + l10n_gu                  : Gujarati
 + + l10n_he                  : Hebrew
 + + l10n_hi                  : Hindi
 + + l10n_hr                  : Croatian
 + + l10n_hu                  : Hungarian
 + + l10n_id                  : Indonesian
 + + l10n_it                  : Italian
 + + l10n_ja                  : Japanese
 + + l10n_kn                  : Kannada
 + + l10n_ko                  : Korean
 + + l10n_lt                  : Lithuanian
 + + l10n_lv                  : Latvian
 + + l10n_ml                  : Malayalam
 + + l10n_mr                  : Marathi
 + + l10n_ms                  : Malay (macrolanguage)
 + + l10n_nb                  : Norwegian Bokmål
 + + l10n_nl                  : Dutch
 + + l10n_pl                  : Polish
 + + l10n_pt-BR               : Portuguese (Brazil)
 + + l10n_pt-PT               : Portuguese (Portugal)
 + + l10n_ro                  : Romanian
 + + l10n_ru                  : Russian
 + + l10n_sk                  : Slovak
 + + l10n_sl                  : Slovenian
 + + l10n_sr                  : Serbian
 + + l10n_sv                  : Swedish
 + + l10n_sw                  : Swahili (macrolanguage)
 + + l10n_ta                  : Tamil
 + + l10n_te                  : Telugu
 + + l10n_th                  : Thai
 + + l10n_tr                  : Turkish
 + + l10n_uk                  : Ukrainian
 + + l10n_ur                  : Urdu
 + + l10n_vi                  : Vietnamese
 + + l10n_zh-CN               : Chinese (China)
 + + l10n_zh-TW               : Chinese (Taiwan)
 - - libcxx                   : Use bundled C++ Standard Library (libc++)
 - - nvidia                   : Use libXNVCtrl library from x11-drivers/nvidia-drivers instead of the bundled one
 + + official                 : Enable Official build instead of Developer build
 - - optimize-thinlto         : Whether to enable ThinLTO optimizations. Turning ThinLTO optimizations on can substantially increase link
                                time and binary size, but they generally also make binaries a fair bit faster.
 + + optimize-webui           : Optimize parts of Chromium's UI written with web technologies (HTML/CSS/JS) for runtime performance
                                purposes. This does more work at compile time for speed benefits at runtime.
 - - override-data-dir        : Change default user data directory to "~/.config/ungoogled-chromium". No data moved automatically.
 - - pax-kernel               : Allow building on a PaX-enabled kernel
 - - pgo                      : Enable PGO. Requires bundled binary profile data in sources tree. Often requires masked/testing llvm.
 + + proprietary-codecs       : Enable proprietary codecs like H.264, MP3
 + + pulseaudio               : Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire)
 + + qt5                      : Add support for the Qt 5 application and UI framework
 + + qt6                      : Add support for the Qt 6 application and UI framework
 + + screencast               : Enable support for remote desktop and screen cast using media-video/pipewire
 - - system-abseil-cpp        : Use the system dev-cpp/abseil-cpp instead of the bundled one
 - - system-av1               : Use the system media-libs/libaom and media-libs/dav1d instead of the bundled ones
 - - system-brotli            : Use the system app-arch/brotli instead of the bundled one
 - - system-crc32c            : Use the system dev-libs/crc32c instead of the bundled one
 - - system-double-conversion : Use the system dev-libs/double-conversion instead of the bundled one
 - - system-ffmpeg            : Use the system media-video/ffmpeg instead of the bundled one
 - - system-harfbuzz          : Use the system media-libs/harfbuzz instead of the bundled one
 - - system-icu               : Use the system dev-libs/icu instead of the bundled one
 - - system-jsoncpp           : Use the system dev-libs/jsoncpp instead of the bundled one
 - - system-libevent          : Use the system dev-libs/libevent instead of the bundled one
 - - system-libusb            : Use the system dev-libs/libusb instead of the bundled one
 - - system-libvpx            : Use the system media-libs/libvpx instead of the bundled one
 - - system-openh264          : Use the system media-libs/openh264 instead of the bundled one. If disabled, it will restrict USE=bindist.
 - - system-openjpeg          : Use the system-wide media-libs/openjpeg instead of the bundled one. OpenJPEG use are exclusively for
                                Chromium's PDF viewer.
 - - system-png               : Use system libpng instead of the bundled one
 - - system-re2               : Use the system-wide dev-libs/re2 instead of the bundled one
 - - system-snappy            : Use the system-wide app-arch/snappy instead of the bundled one
 - - system-woff2             : Use the system media-libs/woff2 instead of the bundled one
 + + system-zstd              : Use the system app-arch/zstd instead of the bundled one
 - - thinlto                  : Build with ThinLTO support. LTO (Link Time Optimization) achieves better runtime performance through
                                whole-program analysis and cross-module optimization (highly recommended).
 + + vaapi                    : Enable Video Acceleration API for hardware decoding
 + + wayland                  : Enable dev-libs/wayland backend
 + + widevine                 : Unsupported closed-source DRM capability (required by Netflix VOD)
mrusme commented 6 months ago

I deleted the ~/.config/chromium folder and started from scratch. I added the web store and only installed the Surfingkeys extension. Whenever I try to open the Surfigkeys settings, Chromium crashes. This is the CLI output:

[17707:17720:0413/135708.230133:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[17707:17720:0413/135708.230174:ERROR:select_file_dialog_linux_portal.cc(286)] Failed to read portal version property
[17707:17707:0413/135708.240115:ERROR:policy_logger.cc(157)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(161) Cloud management controller initialization aborted as CBCM is not enabled. Please use the `--enable-chrome-browser-cloud-management` command line flag to enable it if you are not using the official Google Chrome build.
/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/optional:479: _Tp &std::_Optional_base_impl<content::DocumentAssociatedData, std::_Optional_base<content::DocumentAssociatedData>>::_M_get() [_Tp = content::DocumentAssociatedData, _Dp = std::_Optional_base<content::DocumentAssociatedData>]: Assertion 'this->_M_is_engaged()' failed.
[1]    17707 IOT instruction  chromium
PF4Public commented 6 months ago

Is your gcc hardened?

mrusme commented 6 months ago

Is your gcc hardened?

Yes it is. hardened/selinux profile.

PF4Public commented 6 months ago

Most likely this is your issue: https://github.com/PF4Public/gentoo-overlay/issues/318

mrusme commented 6 months ago

I can confirm that the linked issue is related. Closing this.