Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 568706 - www-client/firefox-{42.0-r2,43.0}: crash on https://protonmail.com/login with sys-devel/gcc-5.3.0
Summary: www-client/firefox-{42.0-r2,43.0}: crash on https://protonmail.com/login with...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gcc-5
  Show dependency tree
 
Reported: 2015-12-19 06:35 UTC by Casper Ti. Vector
Modified: 2016-11-20 23:20 UTC (History)
8 users (show)

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


Attachments
gdb backtrace (bt-mem.log,717.31 KB, text/plain)
2015-12-19 13:48 UTC, Casper Ti. Vector
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Casper Ti. Vector 2015-12-19 06:35:18 UTC
On a intel i7 / ~amd64 / CFLAGS="-pipe -march=ivybridge -O2" system, with gcc upgraded from 4.9.3 to 5.3.0 and firefox recompiled (to avoid C++ breakage), firefox 42.0-r2 begins to crash every time when loading https://protonmail.com/login (to be precise, after the login "dialog" appears on the screen).  After upgrading firefox to 43.0, the problem persists.

Reproducible: Always

Steps to Reproduce:
1. ## ACCEPT_KEYWORDS="~amd64"; CFLAGS="-pipe -march=ivybridge -O2"
   ## sys-devel/gcc-4.9.3; www-client/firefox-42.0-r2
2. # firefox https://protonmail.com/login
3. # emerge -1 '=sys-devel/gcc-5.3.0'; gcc-config x86_64-pc-linux-gnu-5.3.0
   # revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc
4. # firefox https://protonmail.com/login

Actual Results:  
2. The web page loads as expected.
4. firefox crashes.

Expected Results:  
4. The web page still loads as expected.

Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0/desktop, gcc-5.3.0, glibc-2.22-r1, 4.3.3-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.3.3-gentoo-x86_64-Intel-R-_Core-TM-_i7-3720QM_CPU_@_2.60GHz-with-gentoo-2.2
KiB Mem:     7995296 total,   5936396 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Fri, 18 Dec 2015 00:45:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.11::gentoo, 3.4.3-r5::gentoo
dev-util/cmake:           3.4.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r1::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo
Repositories:

gentoo-zh
    location: /usr/overlay/gentoo-zh
    sync-type: git
    sync-uri: https://github.com/microcai/gentoo-zh.git
    masters: gentoo
    priority: 25

gentoo
    location: /usr/portage
    sync-type: webrsync
    sync-uri: rsync://rsync.cn.gentoo.org/gentoo-portage
    priority: 50

haskell
    location: /usr/overlay/haskell
    sync-type: git
    sync-uri: https://github.com/gentoo-haskell/gentoo-haskell.git
    masters: gentoo
    priority: 75

caspervector
    location: /usr/local/portage
    masters: gentoo
    priority: 100

Installed sets: @epcryst-deps, @goagent-deps, @python-deps
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -march=ivybridge -O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/easy-rsa /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"
CXXFLAGS="-pipe -march=ivybridge -O2"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs cgroup compressdebug config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo/ https://mirrors.ustc.edu.cn/gentoo/"
INSTALL_MASK="/etc/systemd /usr/lib/systemd /usr/lib64/systemd"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--human-readable -6 --timeout=16"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cdr cli cracklib crypt cxx dri dts dvd dvdr emboss encode exif fam ffmpeg fftw firefox flac fontconfig fortran geoip gif glamor gpg gpm gtk iconv ipv6 jack jpeg lcms libedit libnotify mad maildir mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png ppds qt3support qt4 readline sdl seccomp session smp socks5 sse sse2 ssl startup-notification svg tcpd threads tiff truetype udev unicode upower usb v4l vaapi vim-syntax vorbis wxwidgets x264 xattr xcb xft xinerama xml xv xvid zlib zsh-completion" ABI_X86="64" ALSA_CARDS="hda-intel" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="i965 intel" 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"
USE_PYTHON="2.7 3.4"
Unset:  CC, CPPFLAGS, CTARGET, CXX, LC_ALL, PORTAGE_BUNZIP2_COMMAND

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

www-client/firefox-43.0::gentoo was built with the following:
USE="bindist custom-optimization gstreamer hwaccel jemalloc3 jit minimal startup-notification system-icu system-jpeg system-libvpx system-sqlite -custom-cflags -dbus -debug -egl -gmp-autoupdate -gstreamer-0 -gtk3 -hardened (-neon) (-pgo) -pulseaudio (-selinux) -system-cairo -test -wifi" ABI_X86="64" LINGUAS="en_GB -af -ar -as -ast -be -bg -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en_ZA -eo -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy_NL -ga_IE -gd -gl -gu_IN -he -hi_IN -hr -hu -hy_AM -id -is -it -ja -kk -km -kn -ko -lt -lv -mai -mk -ml -mr -nb_NO -nl -nn_NO -or -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv_SE -ta -te -th -tr -uk -vi -xh -zh_CN -zh_TW"
CFLAGS="-pipe -march=ivybridge"
CXXFLAGS="-pipe -march=ivybridge"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-rpath=/usr/lib64/firefox"
Comment 1 David Kredba 2015-12-19 08:25:42 UTC
Works for me with -march=core2 and a few patches applied on top of released gcc-5.3.0 from gcc-5 trunk.

Could you please extend your C(XX)FLAGS with -ggdb, rebuild Firefox and try to get a backtrace?
Comment 2 Casper Ti. Vector 2015-12-19 11:56:39 UTC
(In reply to David Kredba from comment #1)
> Works for me with -march=core2 and a few patches applied on top of released
> gcc-5.3.0 from gcc-5 trunk.
> 
> Could you please extend your C(XX)FLAGS with -ggdb, rebuild Firefox and try
> to get a backtrace?

% ulimit -c unlimited
% mv ~/.mozilla/firefox ~/.mozilla/firefox.bak
% firefox  # Just to initiate a fresh profile; quit when loading is complete.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
% firefox https://protonmail.com/login
ATTENTION: default value of option force_s3tc_enable overridden by environment.
zsh: segmentation fault (core dumped)  firefox https://protonmail.com/login
% gdb -c core
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
[New LWP 22530]
[New LWP 22534]
[New LWP 22531]
[New LWP 22533]
[New LWP 22471]
[New LWP 22535]
[New LWP 22475]
[New LWP 22532]
[New LWP 23611]
[New LWP 22485]
[New LWP 22500]
[New LWP 22472]
[New LWP 22468]
[New LWP 22482]
[New LWP 22480]
[New LWP 22469]
[New LWP 22478]
[New LWP 22489]
[New LWP 22474]
[New LWP 22486]
[New LWP 22492]
[New LWP 22481]
[New LWP 23613]
[New LWP 22477]
[New LWP 22483]
[New LWP 22524]
[New LWP 22496]
[New LWP 22484]
[New LWP 22487]
[New LWP 22501]
[New LWP 22527]
[New LWP 22520]
[New LWP 22499]
[New LWP 22506]
[New LWP 22488]
[New LWP 22526]
[New LWP 22508]
[New LWP 22504]
[New LWP 22497]
[New LWP 22523]
[New LWP 22490]
[New LWP 22522]
[New LWP 22518]
[New LWP 22503]
[New LWP 22505]
[New LWP 22495]
[New LWP 22528]
[New LWP 22507]
[New LWP 22529]
[New LWP 22514]
[New LWP 22473]
[New LWP 22509]
[New LWP 22502]
[New LWP 22498]
[New LWP 22470]
[New LWP 22491]
[New LWP 22476]
[New LWP 22479]
[New LWP 22525]
[New LWP 23614]
[New LWP 22464]
Core was generated by `firefox https://protonmail.com/login'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f1ee12a9c29 in ?? ()
[Current thread is 1 (LWP 22530)]
(gdb) bt
#0  0x00007f1ee12a9c29 in ?? ()
#1  0x00007f1eddfbec8f in ?? ()
#2  0x0000000000000400 in ?? ()
#3  0x0000000000000000 in ?? ()
(gdb) quit
%
Comment 3 Casper Ti. Vector 2015-12-19 11:58:40 UTC
I realise the debug symbols are not loaded...
Will look into it...
Comment 4 Casper Ti. Vector 2015-12-19 12:14:34 UTC
Sorry for the bug spam; following is done again with previously initiated profile: 

% gdb firefox
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from firefox...Reading symbols from /usr/lib64/debug//usr/lib64/firefox/firefox.debug...done.
done.
(gdb) run https://protonmail.com/login
Starting program: /usr/bin/firefox https://protonmail.com/login
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe44d5700 (LWP 20956)]
[Thread 0x7fffe44d5700 (LWP 20956) exited]
[New Thread 0x7fffe44d5700 (LWP 20958)]
[New Thread 0x7fffe23ff700 (LWP 20959)]
[New Thread 0x7fffe1bfe700 (LWP 20960)]
[New Thread 0x7ffff7fe0700 (LWP 20961)]
[New Thread 0x7fffe0fdf700 (LWP 20962)]
[New Thread 0x7fffe0dde700 (LWP 20963)]
[New Thread 0x7fffe0bdd700 (LWP 20964)]
[New Thread 0x7fffe09dc700 (LWP 20965)]
[New Thread 0x7fffe07db700 (LWP 20966)]
[New Thread 0x7fffe05da700 (LWP 20967)]
[New Thread 0x7fffe03d9700 (LWP 20968)]
[New Thread 0x7fffe01d8700 (LWP 20969)]
[New Thread 0x7fffdffd7700 (LWP 20970)]
[New Thread 0x7fffdfdd6700 (LWP 20971)]
[New Thread 0x7fffdfbd5700 (LWP 20972)]
[New Thread 0x7fffdf9d4700 (LWP 20973)]
[New Thread 0x7fffde6ff700 (LWP 20974)]
[New Thread 0x7fffdd991700 (LWP 20975)]
[New Thread 0x7fffdd190700 (LWP 20976)]
[New Thread 0x7fffdb312700 (LWP 20977)]
[New Thread 0x7fffdab11700 (LWP 20978)]
[New Thread 0x7fffda103700 (LWP 20979)]
[New Thread 0x7fffe3c70700 (LWP 20980)]
[New Thread 0x7fffd93ff700 (LWP 20981)]
[New Thread 0x7fffd87ff700 (LWP 20982)]
[New Thread 0x7fffd7ffe700 (LWP 20983)]
[New Thread 0x7fffd6ff9700 (LWP 20984)]
[New Thread 0x7fffd67f8700 (LWP 20985)]
[New Thread 0x7fffd5ff7700 (LWP 20986)]
[New Thread 0x7fffd57f6700 (LWP 20987)]
[New Thread 0x7fffd4ff5700 (LWP 20988)]
[New Thread 0x7fffd47f4700 (LWP 20989)]
[New Thread 0x7fffd3ff3700 (LWP 20990)]
[New Thread 0x7fffd37f2700 (LWP 20991)]
[New Thread 0x7fffd2ff1700 (LWP 20992)]
[New Thread 0x7fffd27f0700 (LWP 20993)]
[New Thread 0x7fffd1fef700 (LWP 20994)]
[New Thread 0x7fffd17ee700 (LWP 20995)]
[New Thread 0x7fffcf67b700 (LWP 20996)]
[New Thread 0x7fffcee7a700 (LWP 20997)]
[New Thread 0x7fffce2ff700 (LWP 20998)]
[New Thread 0x7fffcdafe700 (LWP 20999)]
[New Thread 0x7fffcccff700 (LWP 21000)]
[New Thread 0x7fffcc4fe700 (LWP 21001)]
[New Thread 0x7fffcbcfd700 (LWP 21002)]
[Thread 0x7fffd7ffe700 (LWP 20983) exited]
[New Thread 0x7fffcb0ff700 (LWP 21003)]
[Thread 0x7fffcbcfd700 (LWP 21002) exited]
[Thread 0x7fffcccff700 (LWP 21000) exited]
[New Thread 0x7fffca6ff700 (LWP 21004)]
[Thread 0x7fffcc4fe700 (LWP 21001) exited]
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[New Thread 0x7fffcc4fe700 (LWP 21005)]
[New Thread 0x7fffd7ffe700 (LWP 21006)]
[New Thread 0x7fffcbcfd700 (LWP 21007)]
[New Thread 0x7fffcccff700 (LWP 21008)]
[New Thread 0x7fffc54ff700 (LWP 21009)]
[New Thread 0x7fffc4af8700 (LWP 21010)]
[New Thread 0x7fffc3aff700 (LWP 21011)]
[New Thread 0x7fffc32fe700 (LWP 21012)]
[New Thread 0x7fffc2afd700 (LWP 21013)]
[Thread 0x7fffc32fe700 (LWP 21012) exited]
[Thread 0x7fffcb0ff700 (LWP 21003) exited]
[New Thread 0x7fffc20ff700 (LWP 21014)]
[New Thread 0x7fffdde68700 (LWP 21015)]
[New Thread 0x7fffc32fe700 (LWP 21016)]
[New Thread 0x7fffcb0ff700 (LWP 21017)]
[Thread 0x7fffda103700 (LWP 20979) exited]
[New Thread 0x7fffda103700 (LWP 21018)]
[New Thread 0x7fffc13fb700 (LWP 21019)]
[Thread 0x7fffc13fb700 (LWP 21019) exited]
[Thread 0x7fffc2afd700 (LWP 21013) exited]
[New Thread 0x7fffc13fb700 (LWP 21020)]
[New Thread 0x7fffc2afd700 (LWP 21022)]
[New Thread 0x7fffc03ff700 (LWP 21023)]
[New Thread 0x7fffbfbfe700 (LWP 21024)]
[New Thread 0x7fffbe4ff700 (LWP 21025)]
[New Thread 0x7fffbceff700 (LWP 21026)]
[New Thread 0x7fffbbdff700 (LWP 21027)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc32fe700 (LWP 21016)]
nsSimpleNestedURIConstructor (aOuter=0x7fffd0697920, aIID=..., aResult=0x0) at /var/notmp/portage/www-client/firefox-43.0/work/firefox-43.0/netwerk/build/nsNetModule.cpp:382
382	/var/notmp/portage/www-client/firefox-43.0/work/firefox-43.0/netwerk/build/nsNetModule.cpp: No such file or directory.
(gdb) quit
A debugging session is active.

	Inferior 1 [process 20029] will be killed.

Quit anyway? (y or n) y
%
Comment 5 David Kredba 2015-12-19 13:07:09 UTC
Could you please follow for example Fedora's
https://fedoraproject.org/wiki/Debugging_guidelines_for_Mozilla_products
to get a full backtrace?

I mean the part

firefox -g -d gdb
run

Let it crash.

set logging on crash_bt
thread apply all bt full
print DumpJSStack()
set logging off

Maybe it will give us more information.
Comment 6 Casper Ti. Vector 2015-12-19 13:48:19 UTC
Created attachment 419770 [details]
gdb backtrace

This trace is obtained with the following gdb script:

set pagination off 
set unwindonsignal on
run https://protonmail.com/login

set logging on bt-mem.log
thread apply all bt full
set logging off 

set logging on bt-js.log
print DumpJSStack()
set logging off 

For the `DumpJSStack()' part, the output is (despite "set unwindonsignal off" has already been executed):

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3e44379 in mozilla::dom::workers::GetCurrentThreadJSContext () at /var/notmp/portage/www-client/firefox-43.0/work/firefox-43.0/dom/workers/RuntimeService.cpp:1375
1375    /var/notmp/portage/www-client/firefox-43.0/work/firefox-43.0/dom/workers/RuntimeService.cpp: No such file or directory.
gdb.txt:10: Error in sourced command file:
The program being debugged was signaled while in a function called from GDB.
GDB has restored the context to what it was before the call.
To change this behavior use "set unwindonsignal off".
Evaluation of the expression containing the function
(DumpJSStack()) will be abandoned.
Comment 7 Casper Ti. Vector 2015-12-19 14:05:02 UTC
(In reply to Casper Ti. Vector from comment #6)
> (despite "set unwindonsignal off" has already been executed)

Well, please forgive my unfamiliarity with GDB...  I *thought* the option might be useful in letting `print DumpJSStack()' run, but it is actually not (which is expected behaviour).
Comment 8 Sven B. 2015-12-19 16:44:32 UTC
I have a similar configuration, but do not experience a crash when visiting/loading https://protonmail.com/login, (OMTC and HWACCEL enabled.)

Might or might not help you in isolating the bug...

cpu i7-3720QM

GCC 5.3.0 -O2 -pipe -march=ivybridge -ftree-vectorize

ff 43.0 enabled use flags
custom-cflags custom-optimization gtk3 hwaccel jemalloc3 jit minimal pulseaudio startup-notification system-cairo system-icu system-jpeg system-libvpx system-sqlite

ff about:buildconfig 
Build Tools
-Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -pipe -march=ivybridge -ftree-vectorize -std=gnu99 -fgnu89-inline -fno-strict-aliasing -fno-math-errno -pthread -pipe
[...]
Configuration Arguments
--enable-application=browser --enable-optimize=-O2 --disable-pedantic --disable-updater --disable-strip --disable-install-strip --disable-installer --disable-strip-libs --disable-profilelocking --enable-single-profile --disable-profilesharing --with-system-zlib --enable-pango --enable-svg --with-system-bz2 --enable-default-toolkit=cairo-gtk3 --enable-official-branding --disable-debug --disable-debug-symbols --enable-startup-notification --disable-necko-wifi --disable-dbus --enable-ogg --enable-wave --enable-ion --with-system-nspr --with-nspr-prefix=/usr --with-system-nss --with-nss-prefix=/usr --x-includes=/usr/include --x-libraries=/usr/lib64 --with-system-libevent=/usr --prefix=/usr --libdir=/usr/lib64 --enable-system-hunspell --disable-gnomevfs --disable-gnomeui --enable-gio --disable-crashreporter --with-system-png --enable-system-ffi --disable-gold --disable-gconf --enable-jemalloc --enable-replace-malloc --target=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-gstreamer --enable-pulseaudio --enable-system-cairo --enable-system-sqlite --with-system-jpeg --with-system-icu --enable-intl-api --with-system-libvpx --with-google-api-keyfile=/var/tmp/portage/www-client/firefox-43.0/work/firefox-43.0/google-api-key --disable-mailnews --with-default-mozilla-five-home=/usr/lib64/firefox --enable-extensions=default
Comment 9 Casper Ti. Vector 2015-12-20 01:02:27 UTC
(In reply to Sven B. from comment #8)
> I have a similar configuration, but do not experience a crash when
> visiting/loading https://protonmail.com/login, (OMTC and HWACCEL enabled.)
> 
> Might or might not help you in isolating the bug...

I just tried to enable system-cairo, but the problem still exists.
Anyway, thanks for the reference...
Comment 10 Casper Ti. Vector 2015-12-20 02:45:51 UTC
In yet another round of recompilation, I enabled the `debug' USE flag (in addition to previously enabled `-g -ggdb' C(XX)FLAGS) in the hope of providing more debugging information.  It compiles successfully, but the new problem is that, even with a fresh profile, firefox now stucks on resolving any address for the second time:

1. % mv ~/.mozilla/firefox ~/.mozilla/firefox.bak
   % firefox
2. Visit https://example.com/, then clear all history.
4. Try to visit https://example.com/ again: the browser is itself responsive, but the web page never loads; a notification stucks there saying `looking up example.com'.

... So I have to revert to USE='-debug' :facepalm:
Comment 11 Yuki N. 2015-12-20 04:16:57 UTC
Disable "custom-optimization" flag.
Comment 12 Casper Ti. Vector 2015-12-20 09:00:14 UTC
(In reply to Yuki N. from comment #11)
> Disable "custom-optimization" flag.

This works around the problem.  Thank you very much!  (Side note: I saw only `custom-cflags' was labelled with "unsupported" in `equery u firefox'; now "custom-optimization" seems also dangerous...)
Comment 13 Thomas Orgis 2015-12-23 13:55:36 UTC
An additional data point, not on gentoo, but on source-based distro using gcc 5.2 and firefox 42 (will upgrade to 43 soon, probably gcc, too): With -O2, I get the reliable segfault on the protonmail login as soon as I activate JavaScript (in NoScript). With -Os, it seems fine. This is a native build on a Sandy Bridge CPU, x86-64.

I tried debugging this a bit, but even with full debugging symbols (yay, 900 MiB of browser binaries!), there is too much corruption to see anything useful beyond an certain I/O thread getting segfaulted. That thread is always the same, apparently, but no backtrace info inside.

My resolution is to stick to -Os with firefox (mind, in earlier times we fixed it to -O2 _from_ -Os because that one was unstable …) and don't bother further. I don't want my lifetime get ground up between gcc and firefox codebases.
Comment 14 Jory A. Pratt gentoo-dev 2015-12-25 15:14:23 UTC
(In reply to Thomas Orgis from comment #13)
> An additional data point, not on gentoo, but on source-based distro using
> gcc 5.2 and firefox 42 (will upgrade to 43 soon, probably gcc, too): With
> -O2, I get the reliable segfault on the protonmail login as soon as I
> activate JavaScript (in NoScript). With -Os, it seems fine. This is a native
> build on a Sandy Bridge CPU, x86-64.
> 
> I tried debugging this a bit, but even with full debugging symbols (yay, 900
> MiB of browser binaries!), there is too much corruption to see anything
> useful beyond an certain I/O thread getting segfaulted. That thread is
> always the same, apparently, but no backtrace info inside.
> 
> My resolution is to stick to -Os with firefox (mind, in earlier times we
> fixed it to -O2 _from_ -Os because that one was unstable …) and don't bother
> further. I don't want my lifetime get ground up between gcc and firefox
> codebases.

This is ivybridge specific. I am unable to duplicate after finally being able to sign up with an account. My entire system is gcc-5.3.0 compiled. The only way to get a meaning full backtrace would be to disable all the system flags and use bundled.
Comment 15 Perfect Gentleman 2016-01-25 13:18:40 UTC
(In reply to Jory A. Pratt from comment #14)
> This is ivybridge specific. I am unable to duplicate after finally being
> able to sign up with an account. My entire system is gcc-5.3.0 compiled. The
> only way to get a meaning full backtrace would be to disable all the system
> flags and use bundled.

I got Haswell and AMD-K10 machines. On both of them Firefox crashes on addons.mozilla.org and https://thp.io/2014/petals/play/ when complied with -O2 and higher, compiled with -Os or -O1 works fine.
Comment 16 Philipp Ammann 2016-02-01 07:22:28 UTC
FYI, I've had the same issues since around firefox 40 and/or gcc5. Firefox 44 seems to have fixed the issue, I haven't had any crashes so far.
Comment 17 Thomas Capricelli 2016-06-04 14:06:17 UTC
firefox 42/43 aren't in the tree any more, only 45/46 which are >= 44, reported to  have fixed the crash.
Comment 18 Andreas Sturmlechner gentoo-dev 2016-11-20 23:20:42 UTC
(In reply to Thomas Capricelli from comment #17)
> firefox 42/43 aren't in the tree any more, only 45/46 which are >= 44,
> reported to  have fixed the crash.

Sounds good enough to close this bug, thanks.