Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 767775 - www-client/firefox-85.0 crashes and freezes entire computer when playing video
Summary: www-client/firefox-85.0 crashes and freezes entire computer when playing video
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-28 19:05 UTC by Beanie Ben
Modified: 2021-04-23 21:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Beanie Ben 2021-01-28 19:05:59 UTC
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.
Comment 1 Emily Rowlands 2021-01-28 19:32:41 UTC
Can you send `emerge --info firefox`? This might shine some light on the situation.
Comment 2 Beanie Ben 2021-01-28 19:41:49 UTC
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
Comment 3 Beanie Ben 2021-01-28 19:42:06 UTC
(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
Comment 4 Beanie Ben 2021-01-28 19:42:42 UTC
=================================================================
                        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"
Comment 5 Beanie Ben 2021-01-28 20:10:04 UTC
Actually the python_single_target is python3_8 not python3_9
Comment 6 Beanie Ben 2021-01-28 21:40:01 UTC
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.
Comment 7 Beanie Ben 2021-01-29 04:39:30 UTC
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.
Comment 8 Beanie Ben 2021-01-29 17:53:49 UTC
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.
Comment 9 Beanie Ben 2021-01-30 07:28:06 UTC
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.
Comment 10 Thomas Deutschmann (RETIRED) gentoo-dev 2021-04-23 21:45:53 UTC
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.