Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 705408 - www-client/firefox-72.0.1[lto] frequent crashes in libxulrunner.so
Summary: www-client/firefox-72.0.1[lto] frequent crashes in libxulrunner.so
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
: 710864 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-01-14 12:12 UTC by Chí-Thanh Christopher Nguyễn
Modified: 2020-05-03 19:56 UTC (History)
8 users (show)

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


Attachments
segfault of firefox-72.0.2[lto] with gcc-9.2.0-r3 (lto-segfault,10.72 KB, text/plain)
2020-01-31 20:57 UTC, tt_1
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chí-Thanh Christopher Nguyễn gentoo-dev 2020-01-14 12:12:14 UTC
Building www-client/firefox-72.0.1 with LTO enabled causes frequent crashes for me. Older versions and builds with LTO disabled work fine. Enabling/disabling graphics acceleration has no effect.

Thread 1 "firefox" received signal SIGSEGV, Segmentation fault.
0x00007ffff3176524 in void mozilla::gfx::RecordedEvent::ReadPatternData<mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader>(mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader&, mozilla::gfx::PatternStorage&) const [clone .isra.0] [clone .lto_priv.0] ()
   from /usr/lib64/firefox/libxul.so
(gdb) where
#0  0x00007ffff3176524 in void mozilla::gfx::RecordedEvent::ReadPatternData<mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader>(mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader&, mozilla::gfx::PatternStorage&) const [clone .isra.0] [clone .lto_priv.0]
    () at /usr/lib64/firefox/libxul.so
#1  0x00007ffff036aaa8 in bool mozilla::gfx::RecordedEvent::DoWithEvent<mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader>(mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader&, mozilla::gfx::RecordedEvent::EventType, std::function<bool (mozilla::gfx::RecordedEvent*)> const&) [clone .constprop.0] () at /usr/lib64/firefox/libxul.so
#2  0x00007ffff31b8a0a in mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long) () at /usr/lib64/firefox/libxul.so
#3  0x00007ffff2ef3ec5 in mozilla::gfx::CrossProcessPaint::ResolveInternal(mozilla::dom::IdType<mozilla::dom::BrowserParent>, nsRefPtrHashtable<nsUint64HashKey, mozilla::gfx::SourceSurface>*) () at /usr/lib64/firefox/libxul.so
#4  0x00007ffff2f22193 in mozilla::gfx::CrossProcessPaint::ReceiveFragment(mozilla::dom::WindowGlobalParent*, mozilla::gfx::PaintFragment&&) ()
    at /usr/lib64/firefox/libxul.so
#5  0x00007ffff3480cf3 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::ThenValueBase::ResolveOrRejectRunnable::Run() () at /usr/lib64/firefox/libxul.so
#6  0x00007ffff3a07deb in nsThread::ProcessNextEvent(bool, bool*) ()
    at /usr/lib64/firefox/libxul.so
#7  0x00007ffff39871c8 in NS_ProcessNextEvent(nsIThread*, bool) () at /usr/lib64/firefox/libxul.so
#8  0x00007ffff36107e2 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) () at /usr/lib64/firefox/libxul.so
#9  0x00007ffff362cac5 in MessageLoop::Run() () at /usr/lib64/firefox/libxul.so
#10 0x00007ffff19774b8 in nsBaseAppShell::Run() () at /usr/lib64/firefox/libxul.so
#11 0x00007ffff0e9400f in nsAppStartup::Run() () at /usr/lib64/firefox/libxul.so
#12 0x00007ffff0e46096 in XREMain::XRE_mainRun() () at /usr/lib64/firefox/libxul.so
#13 0x00007ffff0e4e53f in XRE_main(int, char**, mozilla::BootstrapConfig const&) () at /usr/lib64/firefox/libxul.so
#14 0x00005555555c351b in do_main(int, char**, char**) ()
#15 0x0000555555562981 in main ()


# emerge --info
Portage 2.3.79 (python 3.6.9-final-0, default/linux/amd64/17.1/desktop, gcc-9.2.0, glibc-2.29-r7, 5.4.8-gentoo x86_64)
=================================================================
System uname: Linux-5.4.8-gentoo-x86_64-Intel-R-_Core-TM-_i5-3470S_CPU_@_2.90GHz-with-gentoo-2.6
KiB Mem:     8090496 total,   5451308 free
KiB Swap:   18866168 total,  18726648 free
Timestamp of repository gentoo: Thu, 09 Jan 2020 08:30:01 +0000
Head commit of repository gentoo: e021026ab6289c8baf1b804044361e39f018da97
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.17::gentoo, 3.6.9::gentoo
dev-util/cmake:           3.14.6::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0-r2::gentoo
sys-devel/gcc-config:     2.1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-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-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=ivybridge"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=ivybridge"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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 -march=ivybridge"
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 sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=ivybridge"
GENTOO_MIRRORS="http://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
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 consolekit crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam flac fortran gdbm gif gpm gtk iconv icu ipv6 jpeg lcms ldap libnotify libtirpc mad mng mp3 mp4 mpeg mtp multilib ncurses nls nptl ogg opengl openmp opus pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis webm webp wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" 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="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 ssse3 sse4_1 sse4_2" 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" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de en vi" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="nouveau" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Sven B. 2020-01-14 16:26:43 UTC
You might want to upgrade GCC to 9.2.0-r3 [1] which carries a fix which affects Firefox gcc lto builds or try a clang build. Afaik FF 72.0 still carries a patch to address the gcc issue, not sure about 72.0.1;  but something might have changed nevertheless.   

[1] https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-devel/gcc?id=649ef16ea81488d36fae3fa4a8881c9e665d2e7a
Comment 2 Cyp 2020-01-17 13:50:10 UTC
I got a different callstack also mentioning mozilla::gfx::InlineTranslator. I updated to gcc-9.2.0-r3, but it's still crashing on startup (manages to load some tabs before crashing).


Thread 1 "firefox" received signal SIGSEGV, Segmentation fault.
0x00007ffff2cad674 in mozilla::gfx::InlineTranslator::MemReader::read (n=16, s=0x7fffffffa758 "0]k\305\377\177", this=0x7fffffffac10)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/InlineTranslator.cpp:30
30      /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/InlineTranslator.cpp: No such file or directory.
(gdb) 
(gdb) JavaScript warning: https://discordapp.com/assets/e0bcae2acef7550e1c5b.js, line 34: unreachable code after return statement
JavaScript warning: https://discordapp.com/assets/e0bcae2acef7550e1c5b.js, line 34: unreachable code after return statement
bt
#0  0x00007ffff2cad674 in mozilla::gfx::InlineTranslator::MemReader::read (n=16, s=0x7fffffffa758 "0]k\305\377\177", this=0x7fffffffac10)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/InlineTranslator.cpp:30
#1  0x00007ffff2cad674 in mozilla::gfx::ElementStreamFormat<mozilla::gfx::InlineTranslator::TranslateRecording(char*, size_t)::MemReader, mozilla::gfx::ColorPatternStorage>::Read (aElement=..., aStream=...)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/gfx/RecordingTypes.h:24
#2  0x00007ffff2cad674 in mozilla::gfx::ReadElement<mozilla::gfx::InlineTranslator::TranslateRecording(char*, size_t)::MemReader, mozilla::gfx::ColorPatternStorage> (aElement=..., aStream=...)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/gfx/RecordingTypes.h:46
#3  0x00007ffff2cad674 in mozilla::gfx::RecordedEvent::ReadPatternData<mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader>(mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader&, mozilla::gfx::PatternStorage&) const [clone .isra.0] [clone .lto_priv.0] (aStream=..., aPattern=..., this=<optimized out>)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/RecordedEventImpl.h:1556
#4  0x00007fffefe597c8 in mozilla::gfx::RecordedFillRect::RecordedFillRect<mozilla::gfx::InlineTranslator::TranslateRecording(char*, size_t)::MemReader> (aStream=..., this=0x7fffffffa710)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/RecordedEventImpl.h:2151
#5  0x00007fffefe597c8 in mozilla::gfx::RecordedEvent::DoWithEvent<mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader>(mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long)::MemReader&, mozilla::gfx::RecordedEvent::EventType, std::function<bool (mozilla::gfx::RecordedEvent*)> const&) [clone .constprop.0]
    (aStream=..., aType=aType@entry=mozilla::gfx::RecordedEvent::FILLRECT, aAction=...) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/2d/RecordedEventImpl.h:3586
#6  0x00007ffff2cb06ea in mozilla::gfx::InlineTranslator::TranslateRecording(char*, unsigned long) (this=0x7fffffffad50, aData=<optimized out>, aLen=<optimized out>)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/new:174
#7  0x00007ffff29eb7b5 in mozilla::gfx::CrossProcessPaint::ResolveInternal(mozilla::dom::IdType<mozilla::dom::BrowserParent>, nsRefPtrHashtable<nsUint64HashKey, mozilla::gfx::SourceSurface>*)
    (this=this@entry=0x7fffc369fc40, aTabId=..., aResolved=aResolved@entry=0x7fffffffaf60) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/ipc/CrossProcessPaint.cpp:396
#8  0x00007ffff2a19ab3 in mozilla::gfx::CrossProcessPaint::MaybeResolve() (this=0x7fffc369fc40) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/RefPtr.h:281
#9  0x00007ffff2a19ab3 in mozilla::gfx::CrossProcessPaint::ReceiveFragment(mozilla::dom::WindowGlobalParent*, mozilla::gfx::PaintFragment&&) (this=0x7fffc369fc40, aWGP=<optimized out>, aFragment=...)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/gfx/ipc/CrossProcessPaint.cpp:284
#10 0x00007ffff2f98663 in mozilla::dom::WindowGlobalParent::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>::operator() (aFragment=..., __closure=0x7fffc7f685a8)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/RefPtr.h:305
#11 0x00007ffff2f98663 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::InvokeMethod<mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>, void (mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>::*)(mozilla::gfx::PaintFragment&&) const, mozilla::gfx::PaintFragment> (aValue=..., aMethod=<optimized out>, aThisVal=0x7fffc7f685a8)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/MozPromise.h:512
#12 0x00007ffff2f98663 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::InvokeCallbackMethod<false, mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>, void (mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>::*)(mozilla::gfx::PaintFragment&&) const, mozilla::gfx::PaintFragment, RefPtr<mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::Private> > (aCompletionPromise=..., aValue=..., aMethod=<optimized out>, aThisVal=0x7fffc7f685a8) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/MozPromise.h:544
#13 0x00007ffff2f98663 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::ThenValue<mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::PaintFragment&&)>, mozilla::dom::WindowGlobalParent::DrawSnapshotInternal(mozilla::gfx::CrossProcessPaint*, const mozilla::Maybe<mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> >&, float, nscolor, uint32_t)::<lambda(mozilla::dom::PWindowGlobalParent::ResponseRejectReason&&)> >::DoResolveOrRejectInternal (aValue=..., this=0x7fffc7f68580) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/MozPromise.h:726
#14 0x00007ffff2f98663 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::ThenValueBase::DoResolveOrReject(mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::ResolveOrRejectValue&) (aValue=..., this=0x7fffc7f68580) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/MozPromise.h:489
#15 0x00007ffff2f98663 in mozilla::MozPromise<mozilla::gfx::PaintFragment, mozilla::ipc::ResponseRejectReason, true>::ThenValueBase::ResolveOrRejectRunnable::Run() (this=0x7fffc573b5b0)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/MozPromise.h:402
#16 0x00007ffff350137b in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fffffffb1c7, aMayWait=<optimized out>, this=0x7fffdd5382e0)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/xpcom/threads/nsThread.cpp:1250
#17 0x00007ffff350137b in nsThread::ProcessNextEvent(bool, bool*) (this=0x7fffdd5382e0, aMayWait=<optimized out>, aResult=0x7fffffffb1c7)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/xpcom/threads/nsThread.cpp:1081
#18 0x00007ffff347ec68 in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aMayWait=<optimized out>)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/xpcom/threads/nsThreadUtils.cpp:486
#19 0x00007ffff3105d12 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7fffdd6ae680, aDelegate=0x7ffff775e200)
    at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ipc/glue/MessagePump.cpp:88
#20 0x00007ffff31a02c5 in MessageLoop::RunInternal() (this=<optimized out>) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ff/dist/include/mozilla/RefPtr.h:305
#21 0x00007ffff31a02c5 in MessageLoop::RunHandler() (this=<optimized out>) at /var/tmp/portage/www-client/firefox-72.0.1/work/firefox-72.0.1/ipc/chromium/src/base/message_loop.cc:308
--Type <RET> for more, q to quit, c to continue without paging--Killed
Comment 3 Maciej S. Szmigiero 2020-01-24 15:53:07 UTC
Same here for www-client/firefox-72.0.2[lto] with sys-devel/gcc-9.2.0-r3,
on multiple machines.

The issue is very easy to reproduce for me, I just need to start dragging any
tabbed browsing tab button for FF to immediately crash with the backtrace similar
to the one others here are getting.

Re-emerging with USE="-lto" fixes things.
Comment 4 tt_1 2020-01-24 15:55:58 UTC
Do you think you could give directions on how to compile firefox with debug informations? The old standard of dropping an env file into /etc/portage/env/www-client/ with

CFLAGS="${CFLAGS} -ggdb"
CXXFLAGS="${CXXFLAGS} -ggdb"

FEATURES="${FEATURES} splitdebug"

didn't work for me.
Comment 5 tt_1 2020-01-31 20:57:58 UTC
Created attachment 610020 [details]
segfault of firefox-72.0.2[lto] with gcc-9.2.0-r3

this backtrace is from randomly surfing around, opening and closing tabs. 

the easiest way to reproduce is: have two tabs open, and try to reoder or rearrange them using the mouse. 

upstreams binary from www-client/firefox-bin isn't affected, they use CC=clang
Comment 6 Maciej S. Szmigiero 2020-02-13 19:51:42 UTC
www-client/firefox-73.0 is affected, too.
Comment 7 Tomasz Golinski 2020-02-13 21:16:59 UTC
I wasn't even able to build 73.0 with USE=lto.
Comment 8 Jory A. Pratt gentoo-dev 2020-02-14 02:40:46 UTC
(In reply to Tomasz Golinski from comment #7)
> I wasn't even able to build 73.0 with USE=lto.

Feel free to test updated ebuild in mozilla overlay and report your findings. We will move to tree within 48 hours.
Comment 9 tt_1 2020-02-14 11:13:23 UTC
the sefaults are gone now with the updated patch. tested on amd64 and arm.
Comment 10 Tomasz Golinski 2020-02-14 12:02:08 UTC
I also confirm the version from mozilla overlay builds fine and doesn't seem to crash either. I also updated nss to the overlay version.
Comment 11 Tomasz Golinski 2020-02-14 12:28:44 UTC
I spoke too early. I tried dragging the link to bookmark toolbar and Firefox crashed immediately. Here's console output:

JavaScript error: , line 0: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: , line 0: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript warning: moz-extension://549c19d5-68c9-4551-938d-a2de69448ca4/lib/adblockplus.js, line 0: Successfully compiled asm.js code (total compilation time 1ms)
JavaScript error: , line 0: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: No matching message handler
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: undefined, line 0: Error: Missing host permission for the tab
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://453881fa-d88c-4ed0-9d51-bdd2d9097341/background.js, line 525: Error: Could not establish connection. Receiving end does not exist.
JavaScript error: undefined, line 0: Error: Message manager disconnected
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: , line 0: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: undefined, line 0: Error: Missing host permission for the tab, and any iframes
JavaScript error: , line 0: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
JavaScript error: moz-extension://ef6673dc-b9a6-4220-8f20-0bbab33e12e3/lib/SyncMessage.js, line 237: uncaught exception: Unable to load script: moz-extension://2bc48f49-a4f1-4ef1-8778-fc0a70a6260f/content.js
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=18.4719) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=18.9789) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=19.4663) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=20.2622) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Segmentation fault
Exiting due to channel error.
Exiting due to channel error.
Comment 12 Maciej S. Szmigiero 2020-02-14 18:12:58 UTC
Yes, www-client/firefox-73.0[lto] now builds fine, however still often crashes at runtime due to this bug.
Comment 13 Jory A. Pratt gentoo-dev 2020-02-14 18:16:46 UTC
(In reply to Maciej S. Szmigiero from comment #12)
> Yes, www-client/firefox-73.0[lto] now builds fine, however still often
> crashes at runtime due to this bug.

When someone wants to debug it feel free to debug and provide a patch. I do not build with lto or pgo on musl. Whissi was the one who introduced the code and wanted to support it so that is the developer you will need to contact if you need assistance.
Comment 14 Jory A. Pratt gentoo-dev 2020-02-26 14:21:02 UTC
*** Bug 710864 has been marked as a duplicate of this bug. ***
Comment 15 Ilya Gorskin 2020-02-27 09:17:05 UTC
Without lto and pgo crashes at runtime too
Comment 16 Chí-Thanh Christopher Nguyễn gentoo-dev 2020-02-27 23:21:38 UTC
(In reply to Ilya Gorskin from comment #15)
With same backtrace in mozilla::gfx::InlineTranslator? When browsing or when reordering tabs?
Comment 17 Maciej S. Szmigiero 2020-02-28 13:21:08 UTC
(In reply to Ilya Gorskin from comment #15)
> Without lto and pgo crashes at runtime too

The non-lto, non-pgo build doesn't crash for me at all.
Comment 18 Brandon Enright 2020-03-10 06:58:42 UTC
I don't know if it helps much but I'm seeing the same crash in the same location.  In my case, all I have to do is mouse over a particular link on a particular page.

Presumably it will go away when I recompile without -lto which I will do now.
Comment 19 Brandon Enright 2020-03-10 07:00:00 UTC
(In reply to Brandon Enright from comment #18)
> I don't know if it helps much but I'm seeing the same crash in the same
> location.  In my case, all I have to do is mouse over a particular link on a
> particular page.
> 
> Presumably it will go away when I recompile without -lto which I will do now.

I suppose I should add that it's actually www-client/firefox-73.0.1 crashing on my in the same location compiled with lto.
Comment 20 Mike Limansky 2020-03-21 09:24:27 UTC
I've found firefox-74.0-r1[lto] crashing on packages.gentoo.org, while non-lto build works fine.
Comment 21 Maciej S. Szmigiero 2020-05-03 19:56:10 UTC
FYI: www-client/firefox-75.0-r1[lto] built with GCC 9.3.0 works fine for me on multiple machines.