When playing videos, like from YouTube, Firefox will crash and freeze my computer. The bug is reproducible when playing specific videos (like this one I've been using to test changes https://www.youtube.com/watch?v=XQVMSpHlWQU) , but at random times in the video. Firefox-bin doesn't seem to have this problem, but I've found no use flag change that fixes the problem, and have reproduced the bug when compiled with gcc and clang/llvm. Has persisted through versions of Firefox, turned off hardware acceleration and ccache, safe mode, new profiles, and even different libc versions, as the bug happens with both my glibc Firefox install and my musl Firefox install, on two separate Gentoo installs on the same laptop computer. Looking through dmesg by sshing into the computer before the crash shows that there is sometimes a segfault in libxul.so, but hasn't shown every time. Firefox output shows nothing either. I've also used different versions of xf86-video-intel and reproduced the bug with all three versions in the Gentoo repository as of right now.
Can you send `emerge --info firefox`? This might shine some light on the situation.
Portage 3.0.14 (python 3.9.1-final-0, default/linux/amd64/17.1/desktop, gcc-10.2.0, glibc-2.32-r7, 5.10.11-gentoo x86_64 ) ================================================================= System uname: Linux-5.10.11-gentoo-x86_64-Intel-R-_Core-TM-_i5-8250U_CPU_@_1.60GHz-with-glibc2.32 KiB Mem: 16255184 total, 12013972 free KiB Swap: 16777212 total, 16777212 free Timestamp of repository gentoo: Thu, 28 Jan 2021 18:30:01 +0000 Head commit of repository gentoo: 264f80080ebe2c303b9b8bd3f0c25042f6de536c sh bash 5.1_p4 ld GNU ld (Gentoo 2.35.1 p2) 2.35.1 ccache version 4.1 [disabled] app-shells/bash: 5.1_p4::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.32.0-r1::gentoo dev-lang/python: 3.7.9-r2::gentoo, 3.8.7-r1::gentoo, 3.9.1-r1::gentoo dev-util/ccache: 4.1::gentoo dev-util/cmake: 3.19.3::gentoo sys-apps/baselayout: 2.7-r1::gentoo sys-apps/openrc: 0.42.1-r1::gentoo sys-apps/sandbox: 2.20::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo sys-devel/automake: 1.16.3-r1::gentoo sys-devel/binutils: 2.35.1-r1::gentoo sys-devel/gcc: 10.2.0-r5::gentoogentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 guru location: /var/lib/layman/guru masters: gentoo priority: 50 pf4public location: /var/lib/layman/pf4public masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /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-releas e /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--load-average=7.6" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT P ERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" sys-devel/gcc-config: 2.3.3::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers) sys-libs/glibc: 2.32-r7::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 guru location: /var/lib/layman/guru masters: gentoo priority: 50 pf4public location: /var/lib/layman/pf4public masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /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-releas e /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--load-average=7.6" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT P ERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-march=native -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect- owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch user priv usersandbox usersync xattr" FFLAGS="-march=native -O2 -pipe" GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo rsync://rsync.gtlib.gatech.edu/gentoo https://mirrors.rit.edu/gen too/ http://mirrors.rit.edu/gentoo/ https://mirror.sjc02.svwh.net/gentoo/ http://mirror.sjc02.svwh.net/gentoo/" INSTALL_MASK="/usr/share/locale/[a-d]*/ /usr/share/locale/e[a-m]*/ /usr/share/locale/en@arabic/ /usr/sha re/locale/en@cyrillic/ /usr/share/locale/en@greek/ /usr/share/locale/en@hebrew/ /usr/share/locale/en@piglatin/ /usr/share/locale/e[o-z]*/ /usr/share/locale/[f-z]*/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9 -l8" PKGDIR="/var/cache/binpkgs" 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 acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvd dvdr e logind emboss encode exif flac fortran gdbm gif gpm gtk gui iconv icu ios ipv6 jpeg lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readl ine savedconfig sdl seccomp spell split-usr ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower u sb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel" COL LECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext aes sse sse2 sse3 ssse3 sse4_ 1 sse4_2" ELIBC="glibc" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 l cdm001 mtxorb ncurses text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS ="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python2_7 python3_8 python3_9" RUBY_TARGETS="r uby26" USERLAND="GNU" VIDEO_CARDS="intel i915 iris" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ip p2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE _COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to Emily Rowlands from comment #1) > Can you send `emerge --info firefox`? This might shine some light on the > situation. Sorry laptop died for a hot sec
================================================================= Package Settings ================================================================= www-client/firefox-85.0::gentoo was built with the following: USE="clang dbus geckodriver gmp-autoupdate openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp -debug -eme-free -hardened -hwaccel -jack -lto -pgo -screencast (-selinux) -wayland -wifi" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" CFLAGS="-march=native -pipe" CXXFLAGS="-march=native -pipe" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib64/firefox,--enable-new-dtags"
Actually the python_single_target is python3_8 not python3_9
Upon further testing and inspection, I've found that this issue only arises when using a Linux 5.10 kernel and not a 5.9 kernel. I'll test further to see which specific version made this problem arise.
This issue shows up in the 5.10.1 kernel, meaning that sometime between the 5.9.14 kernel release and the 5.10.1 kernel release, something was changed that makes firefox break in this way. Will be checking to see if removing the gentoo-sources patches fix this or if it's a bug in the vanilla source code.
Further testing shows that the bug is present in commits to the Linux source repository after the v5.9 tag. It is present in the commits leading up to the v5.10-rc1 tag, and further testing should show which specific commit was the culprit. Once the line(s) of code that caused this bug have been found, I'll submit a bug report to Mozilla as well as update here with that info.
There is a chain of commits leading up to the v5.10-rc1 tag that has changes to the i915 files of the Linux kernel. I think in this chain is the culprit. If so, the problem is not within Gentoo's files, but Firefox's code not being updated to match the code in the Linux kernel. Will continue adding updates to help anyone else with this problem.
For some reason your `emerge --info` output is incomplete and doesn't contain information about used rust version to compile firefox. I can only speculate you hit bug 773277. Please try again with firefox-88 and re-open when you still experience the crash.