Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 577562 - www-client/firefox-45.0.1[system-cairo] crashes
Summary: www-client/firefox-45.0.1[system-cairo] crashes
Status: RESOLVED DUPLICATE of bug 556378
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL: http://hessenschau.de/wetter/wetterka...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-16 17:06 UTC by charles17
Modified: 2016-03-31 02:39 UTC (History)
0 users

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


Attachments
emerge --info (emerge --info,7.56 KB, text/plain)
2016-03-16 17:06 UTC, charles17
Details
strace (strace.log.gz,205.21 KB, application/gzip)
2016-03-17 10:13 UTC, charles17
Details
Once again the strace (strace.bz2,69.69 KB, application/x-bzip)
2016-03-17 12:17 UTC, charles17
Details

Note You need to log in before you can comment on or make changes to this bug.
Description charles17 2016-03-16 17:06:08 UTC
Created attachment 428368 [details]
emerge --info

Firefox crashes on visiting http://hessenschau.de/wetter/wetterkameras/wetterkamera-wasserkuppe-100.html

Steps to reproduce:

1. Have a clean profile

2. From xterm call "firefox http://hessenschau.de/wetter/wetterkameras/wetterkamera-wasserkuppe-100.html"

3. Click any handle on that site

4. ( Firefox crashes )

5. Find message on xterm 
[3087] ###!!! ABORT: X_CopyArea: BadDrawable (invalid Pixmap or Window parameter); 3 requests ago: file /var/tmp/portage/www-client/firefox-45.0/work/firefox-45.0/toolkit/xre/nsX11ErrorHandler.cpp, line 157
Comment 1 charles17 2016-03-17 10:13:55 UTC
Created attachment 428404 [details]
strace

Here I am adding an strace log.
Comment 2 charles17 2016-03-17 12:17:37 UTC
Created attachment 428410 [details]
Once again the strace

Previous ( gz compressed one ) is corrupted
Comment 3 Ian Stakenvicius (RETIRED) gentoo-dev 2016-03-18 01:00:10 UTC
Works fine for me.  I expect the crash is due to the usual imcompatibility with x11-libs/cairo-1.14.x .  Try unsetting the system-cairo USE flag and see if things improve.
Comment 4 charles17 2016-03-18 08:30:46 UTC
(In reply to Ian Stakenvicius from comment #3)
> Try unsetting the system-cairo USE flag and see if things improve.

It does. So this seems to be one of the cases where using x11-libs/cairo[X,xcb,-xlib-xcb] from bug 564918#c13 does not solve it.
Comment 5 Fabio Scaccabarozzi 2016-03-29 22:06:53 UTC
Hello!
Being fed up with the issue, I investigated what might be causing the "firefox[system-cairo]" problem.

After recompiling with debugging symbols and a lot of backtracing, what I found is the following:
1. Looking at the cairo code in firefox, I found clue to the bundled version:
------------------------------
$ less firefox-45.0.1/gfx/cairo/cairo/README -> 
VERSIONS:

  cairo (12d521df8acc483b2daa844d4f05dc2fe2765ba6)
  pixman (0.24.2)
------------------------------

2. Trying to figure out how long in the past that was released, I got to the following commit from the cairo sources:
------------------------------
Commit 12d521df8acc483b2daa844d4f05dc2fe2765ba6
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Jan 21 13:19:17 2010 -0800
------------------------------
Which means the version bundled is somewhere between 1.8.8 and 1.9.6 (I'm more inclined for the latter, as the README starts with "Snapshot versions of cairo and pixman for mozilla usage")

3. Consider that we have 118 patches in the parent folder:
------------------------------
firefox-45.0.1/gfx/cairo $ find -maxdepth 1 -iname "*.patch" | wc -l
118
------------------------------
Which for sure cannot amount to the changes cairo underwent in the last 6 years.

In short, the bundled version is at least 6 years old, patched only for mozilla needs after the bundling/fork. I didn't look for log files and Makefile entries, but I suspect those patches to be applied before the build start.
What I'd expect from such a version is to *not* be compatible in most ways with the current version - data structures, ABIs, API usage. It's still a mistery to me how firefox even displayed the page I had last open, now that I know this.
Of course, after recompiling with -system-cairo, everything works: new tabs open and google adsense reports show up properly instead of killing the browser by SIGSEGV.
Since this seems to be utterly broken, please consider dropping the flag to spare the users nightmares (also in the firefox versions to follow).
Comment 6 Fabio Scaccabarozzi 2016-03-29 22:43:20 UTC
Update: I found the following bug upstream which tracks the updating of the bundled version:
https://bugzilla.mozilla.org/show_bug.cgi?id=739096
Apparently I wasn't too far off, upstream "intree" should be near cairo-1.9.5 (see comment 35).
Comment 7 Jory A. Pratt gentoo-dev 2016-03-31 02:39:18 UTC

*** This bug has been marked as a duplicate of bug 556378 ***