Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 564918 - www-cilent/firefox-42[system-cairo]: Crash when opening a new tab.
Summary: www-cilent/firefox-42[system-cairo]: Crash when opening a new tab.
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal with 1 vote (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-05 02:12 UTC by Jeremy Murphy
Modified: 2017-08-26 17:57 UTC (History)
3 users (show)

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


Attachments
# emerge --info -v (emerge_info_v_as_root.log,17.91 KB, text/plain)
2015-11-13 13:53 UTC, abandoned account disabled email
Details
gdb backtrace of firefox crashing on exit (firefox_crash_on_exit_backtrace_full_5.log,156.56 KB, text/plain)
2015-11-13 14:38 UTC, abandoned account disabled email
Details
steps I tried and emerge --info (firefox_42_0-r1_still_crashes_on_exit_with_hardened-sources-4_2_6_getting_4_2_6-r1.log,32.57 KB, text/plain)
2015-11-14 04:37 UTC, abandoned account disabled email
Details
here's the diff between 4.2.6 and 4.2.6-r1 kernels' source code (kernel_versions.diff,14.36 KB, patch)
2015-11-14 14:10 UTC, abandoned account disabled email
Details | Diff
kernel .config (.config,106.50 KB, text/plain)
2015-11-14 14:25 UTC, abandoned account disabled email
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Murphy 2015-11-05 02:12:44 UTC
Not much to say: try to open a new tab, it crashes.


Reproducible: Always

Steps to Reproduce:
1. Press Ctrl-T or the + button to open a new tab.

Actual Results:  
[23532] ###!!! ABORT: X_PutImage: BadLength (poly request too large or internal Xlib length error); 9 requests ago: file /var/tmp/portage/www-client/firefox-42.0/work/firefox-42.0/toolkit/xre/nsX11ErrorHandler.cpp, line 157
[23532] ###!!! ABORT: X_PutImage: BadLength (poly request too large or internal Xlib length error); 9 requests ago: file /var/tmp/portage/www-client/firefox-42.0/work/firefox-42.0/toolkit/xre/nsX11ErrorHandler.cpp, line 157
[NPAPI 23620] ###!!! ABORT: Aborting on channel error.: file /var/tmp/portage/www-client/firefox-42.0/work/firefox-42.0/ipc/glue/MessageChannel.cpp, line 1768
Segmentation fault
[NPAPI 23620] ###!!! ABORT: Aborting on channel error.: file /var/tmp/portage/www-client/firefox-42.0/work/firefox-42.0/ipc/glue/MessageChannel.cpp, line 1768


Expected Results:  
A new tab, no crash.

Portage 2.2.20.1 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/kde, gcc-4.9.3, glibc-2.21-r1, 4.1.9-gentoo-r1 x86_64)
=================================================================
System uname: Linux-4.1.9-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-3537U_CPU_@_2.00GHz-with-gentoo-2.2
KiB Mem:    12157744 total,   3417176 free
KiB Swap:    5242876 total,   4226192 free
Timestamp of repository gentoo: Wed, 04 Nov 2015 23:15:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.10::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.3.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.21-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.au.gentoo.org/gentoo-portage
    priority: -1000

kde
    location: /var/lib/layman/kde
    masters: gentoo
    priority: 0

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 1

rion
    location: /var/lib/layman/rion
    masters: gentoo
    priority: 2

sunrise
    location: /var/lib/layman/sunrise
    masters: gentoo
    priority: 3

last-hope
    location: /var/lib/layman/last-hope
    masters: gentoo
    priority: 4

mv
    location: /var/lib/layman/mv
    masters: gentoo
    priority: 5

local
    location: /usr/local/portage
    masters: gentoo
    priority: 6

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA Google-TOS google-talkplugin google-chrome FAH-EULA-2009 Intel-SDP skype-4.0.0.7-copyright Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
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=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks 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 xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo http://ftp.iinet.net.au/pub/Gentoo"
LANG="en_AU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aalib acl acpi alsa amd64 ao avahi bash-completion berkdb blas bluetooth branding bzip2 c++0x cairo caps cdda cdr cli consolekit cracklib crypt css cups curl cvs cxx dbus declarative djvu dri dts dv dvd dvdr emboss encode exif expat fam ffmpeg fftw firefox flac fontconfig fortran gd gdbm geoip gif git glamor gmp gnuplot gnutls gphoto2 gpm graphviz gsl gsm gtk gtk3 hdf5 iconv icu idn ieee1394 imagemagick imlib ipod ipv6 java java6 javascript jit jpeg jpeg2k kde kipi ladspa lame lapack laptop latex lcms ldap libnotify libsamplerate libwww lzma lzo mad matroska mmap mmx mmxext mng modules mp3 mp4 mpeg mtp multilib mysql mysqli ncurses nls nptl nsplugin ntfs offensive ogg openal openexr opengl openmp pam pango pch pcre pdf phonon plasma plotutils png policykit postscript ppds qt3support qt4 readline samba scanner sdl seccomp semantic-desktop session sharedmem skey smp sndfile sox speex spell sqlite sqlite3 sse sse2 sse3 ssl startup-notification subversion svg syslog szip taglib tcpd theora threads tiff tk truetype udev udisks unicode upnp upower usb vcd vnc vorbis wavpack wayland wifi wmf wxwidgets x264 xattr xcb xcomposite xinerama xml xpm xscreensaver xv xvid zeroconf zlib" 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="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 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" 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_AU 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="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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Jory A. Pratt gentoo-dev 2015-11-06 00:17:45 UTC
Please rebuild with -system-cairo, I believe we are gonna drop the useflag and force everyone back to bundled for the time being until we can sort out cairo-1.14.x breakage.
Comment 2 abandoned account disabled email 2015-11-13 13:53:01 UTC
Created attachment 416842 [details]
# emerge --info -v

Hi. For me it doesn't crash (built with -system-cairo already)  but only the first loaded tab (eg. on firefox startup, first loaded tab(the focused one) of those auto-restored) loads okay. All others are hanging on "Waiting for ..." as if the network is slow.

The issue happens only with hardened-sources-4.2.6  but not with (tested) hardened-sources-4.2.5-r2   (and firefox 42.0)

Firefox does crash on exit though. I could include a full all threads stacktrace. I have one from yesterday, but I should probably regen a new one, next. (I am currently writing this from 4.2.5-r2 kernel, or else I couldn't have logged in, even if I was using only the loaded tab, with 4.2.6 kernel and firefox 42.0)

Once I was able to open two new windows(on firefox startup) and both loaded okay - they were of bugs.gentoo.com  but log in was impossible after this  due to the same issue: hung on "Waiting for..."


What other info should I give?
Comment 3 abandoned account disabled email 2015-11-13 14:38:00 UTC
Created attachment 416850 [details]
gdb backtrace of firefox crashing on exit

(pls ignore the "-g45b4b78" kernel local version which I forgot in .config for every kernel that I've had since I've switched from git kernel to hardened.)

Sorry for the possible hijacking (since I haven't tested with system-cairo to reproduce the initial). Let me know if I should file a new bug instead (which I probably won't, 'cause I dislike the rigmarole, but I will happily provide more information should the bug already exist filed - I will test any patches happily; just don't make me file a NEW bug :D - hate that process)
Comment 4 Jory A. Pratt gentoo-dev 2015-11-13 14:58:43 UTC
(In reply to Emanuel Czirai from comment #3)
> Created attachment 416850 [details]
> gdb backtrace of firefox crashing on exit
> 
> (pls ignore the "-g45b4b78" kernel local version which I forgot in .config
> for every kernel that I've had since I've switched from git kernel to
> hardened.)
> 
> Sorry for the possible hijacking (since I haven't tested with system-cairo
> to reproduce the initial). Let me know if I should file a new bug instead
> (which I probably won't, 'cause I dislike the rigmarole, but I will happily
> provide more information should the bug already exist filed - I will test
> any patches happily; just don't make me file a NEW bug :D - hate that
> process)

If you want to test with system-cairo please use the mozilla overlay for testing. I am getting ready to push firefox-42.0-r1 to tree in next few days so more testing is always welcomed.
Comment 5 abandoned account disabled email 2015-11-13 19:17:37 UTC
(In reply to Jory A. Pratt from comment #4)
> If you want to test with system-cairo please use the mozilla overlay for
> testing. I am getting ready to push firefox-42.0-r1 to tree in next few days
> so more testing is always welcomed.

emerge cannot find firefox-42.0-patches-0.2.tar.xz on a bunch of mirrors that I had in the list. Is this what you meant by not being in the tree? Where can I wget it directly? (apparently it's not in the usual location that I check when firefox isn't on any of the mirrors, which is https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/ )

I would like to otherwise test this with -egl and system-cairo (also xcb had to be enabled on cairo)

Thanks
Comment 6 Jory A. Pratt gentoo-dev 2015-11-13 19:59:12 UTC
(In reply to Emanuel Czirai from comment #5)
> (In reply to Jory A. Pratt from comment #4)
> > If you want to test with system-cairo please use the mozilla overlay for
> > testing. I am getting ready to push firefox-42.0-r1 to tree in next few days
> > so more testing is always welcomed.
> 
> emerge cannot find firefox-42.0-patches-0.2.tar.xz on a bunch of mirrors
> that I had in the list. Is this what you meant by not being in the tree?
> Where can I wget it directly? (apparently it's not in the usual location
> that I check when firefox isn't on any of the mirrors, which is
> https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/ )
> 
> I would like to otherwise test this with -egl and system-cairo (also xcb had
> to be enabled on cairo)
> 
> Thanks

Patches belong to gentoo not upstream. You can find them via my devspace.

http://dev.gentoo.org/~anarchy/mozilla/patchsets/firefox-42.0-patches-0.2.tar.xz
Comment 7 Jeremy Murphy 2015-11-14 03:08:13 UTC
(In reply to Jory A. Pratt from comment #1)
> Please rebuild with -system-cairo, I believe we are gonna drop the useflag
> and force everyone back to bundled for the time being until we can sort out
> cairo-1.14.x breakage.

Thanks, I meant to say earlier that I rebuilt with -system-cairo and it stopped crashing.
Comment 8 Jory A. Pratt gentoo-dev 2015-11-14 03:15:02 UTC
(In reply to Jeremy Murphy from comment #7)
> (In reply to Jory A. Pratt from comment #1)
> > Please rebuild with -system-cairo, I believe we are gonna drop the useflag
> > and force everyone back to bundled for the time being until we can sort out
> > cairo-1.14.x breakage.
> 
> Thanks, I meant to say earlier that I rebuilt with -system-cairo and it
> stopped crashing.

We have made changes to the eclass in the mozilla overlay which should address the crashing issues. It also will introduce hardware acceleration. You might want to check it out as soon as possible as we will push the new update on sunday.
Comment 9 abandoned account disabled email 2015-11-14 04:37:41 UTC
Created attachment 416900 [details]
steps I tried and emerge --info

tl;dr: Issue went away for me, with hardened kernel 4.2.6-r1 (but still couldn't repro. OP's issue with or without system-cairo) 
 Also, maybe until sunday, for me, -system-cairo without hw accel. is faster (16fps) than with hw. accel (9fps) and than system-cairo (5-9 fps, I forget) - url for testing fps is below.

But here's what I had tried before:
(too long for comment, attached)
Comment 10 abandoned account disabled email 2015-11-14 14:10:23 UTC
Created attachment 416952 [details, diff]
here's the diff between 4.2.6 and 4.2.6-r1 kernels' source code

just for completeness/curiosity
Comment 11 abandoned account disabled email 2015-11-14 14:25:06 UTC
Created attachment 416956 [details]
kernel .config

uploading kernel .config (for completeness)
(I didn't have KVM selected, but do have r8169)

Whatever fixed it for me, must be in the above kernels' source code difference :-)

Anyway, thanks to whoever fixed it! (fix was within genpatches?)

$ equery c hardened-sources-4.2.6-r1
*hardened-sources-4.2.6-r1 (13 Nov 2015)

  13 Nov 2015; Anthony G. Basile <blueness@gentoo.org>
  +hardened-sources-4.2.6-r1.ebuild:
  version bump to 4.2.6-r1

  vanilla-4.2.6 + genpatches-4.2-8 + grsecurity-3.1-4.2.6-201511122040

  Package-Manager: portage-2.2.20.1

  13 Nov 2015; Anthony G. Basile <blueness@gentoo.org>
  -hardened-sources-4.2.5-r1.ebuild, -hardened-sources-4.2.5-r2.ebuild,
  -hardened-sources-4.2.6.ebuild:
  remove older unstable versions.

  Package-Manager: portage-2.2.20.1
Comment 12 Jan Psota 2016-01-18 00:03:32 UTC
This is it:
https://bugzilla.mozilla.org/show_bug.cgi?id=1136417

There is no need to use bundled cairo if cairo is compiled without xlib-xcb.
May I propose a change in mozconfig-*.eclass:
-system-cairo? ( >=x11-libs/cairo-1.12[X,xcb]
+system-cairo? ( >=x11-libs/cairo-1.12[X,xcb,-xlib-xcb]

Works for me.
Comment 13 Jory A. Pratt gentoo-dev 2016-01-18 03:37:11 UTC
(In reply to Jan Psota from comment #12)
> This is it:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1136417
> 
> There is no need to use bundled cairo if cairo is compiled without xlib-xcb.
> May I propose a change in mozconfig-*.eclass:
> -system-cairo? ( >=x11-libs/cairo-1.12[X,xcb]
> +system-cairo? ( >=x11-libs/cairo-1.12[X,xcb,-xlib-xcb]
> 
> Works for me.

Well this would be one small fix, it still does not resolve the crashes completely.
Comment 14 Jan Psota 2016-01-18 03:41:27 UTC
(In reply to Jory A. Pratt from comment #13)
> Well this would be one small fix, it still does not resolve the crashes
> completely.
FF on my system crashed many times before and I've noticed no crashes after cairo recompilation with -xcb-xlib - that's all I can say.
Comment 15 mike 2016-05-26 08:00:01 UTC
This whole problem more seems like something to be handled with by upstream, just my 2 cents.
Comment 16 Ian Stakenvicius (RETIRED) gentoo-dev 2016-05-26 13:51:18 UTC
(In reply to mike from comment #15)
> This whole problem more seems like something to be handled with by upstream,
> just my 2 cents.

Upstream doesn't support external cairo; if the community doesn't fix it then it doesn't get fixed.

As most of you are likely aware, I've package.use.masked system-cairo to try and limit exposure to these crashes.  I'm certainly open to patches to get it working better but it's beyond mozilla team's abilities and time to fix it ourselves.  If firefox bumps their bundled custom cairo then maybe we can revisit.
Comment 17 Jory A. Pratt gentoo-dev 2017-08-26 17:57:17 UTC
If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system.

Thank You for your support and understanding
The Mozilla Team