libcairo segfaults when rendering video streams, e.g. youtube videos in webkit based browsers

Bug #1391857 reported by Marc Balmer
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
cairo
Fix Released
Critical
cairo (Ubuntu)
Fix Released
High
Unassigned
Trusty
Fix Released
Undecided
Unassigned
midori (Ubuntu)
Confirmed
High
Unassigned
webkitgtk (Ubuntu)
Confirmed
High
Unassigned

Bug Description

* Impact
The libcairo version (1.13) that is used on Ubuntu 14.04 contains a bug the leads to a segementation fault (see https://bugs.freedesktop.org/show_bug.cgi?id=81699) when rendering certain video streams. E.g. webkit based browser that render Youtube videos will eventually crash.

* Testcase
try to open https://www.youtube.com/watch?v=b1XGPvbWn0A in midori browser

* Regression potential
check that GTK and webkit still work correctly (no segfault, no rendering issues)

-----------------------

The bug has been fixed upstream, libcairo 1.14 does not segfault, so it would be very desirable that the libcairo2 package in Ubuntu gets updated to version 1.14 of libcairo.

Revision history for this message
In , Henriqueleng-t (henriqueleng-t) wrote :
Download full text (23.1 KiB)

Hi,

  My web browser crashes when i try to watch a youtube video or open certain web
pages with any webkit browser(that uses cairo).
  I found other peoples like me with this bug but i can't found a solution.
  This error already happened with me while using these web browsers: jumanji,
surf, uzbl, vimprobrable2, dwb. And using two diferents linux distributions.
Arch Linux and Gentoo, both in the same computer.

There is this problem archived on this mailing list
http://lists.cairographics.org/archives/cairo/2014-March/025089.html , but the
"solution" apresented in the end, as a patch
http://lists.cairographics.org/archives/cairo/2014-March/025103.html
didn't solved my problem. He says about the patch "This diff avoids the segfault
for me, but only papers over the bug..." So it's not the real solution.

I posted on Arch Linux and on Gentoo forum, the last have more information.
Gentoo forum post:
https://forums.gentoo.org/viewtopic-t-995484-start-0-postdays-0-postorder-asc-highlight-.html?sid=c5c15b4431456821dcc93bbbc74b9ace

This bug are kiling me, i can't watch any youtube video and lot of times
my browser suddenly close. Also the web browsers tha i most like uses
cairo.

There is the complete message from gdb while run the browser with all
dependencies compiled with debug flag.

---gdb.log---

Temporary breakpoint 1 at 0x407750: file jumanji.c, line 687.
Starting program: /usr/bin/jumanji
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Starting program: /usr/bin/jumanji
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Quit
A debugging session is active.
        Inferior 1 [process 25926] will be killed.
Quit anyway? (y or n) Starting program: /usr/bin/jumanji
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe7271700 (LWP 25999)]
[New Thread 0x7fffa6941700 (LWP 26000)]
[New Thread 0x7fffa5aec700 (LWP 26001)]
[New Thread 0x7fffa52eb700 (LWP 26002)]
[New Thread 0x7fffa4acb700 (LWP 26003)]
[New Thread 0x7fff97fff700 (LWP 26004)]
[New Thread 0x7fff977fe700 (LWP 26005)]
[New Thread 0x7fff96ffd700 (LWP 26006)]
[New Thread 0x7fff967fc700 (LWP 26007)]
[New Thread 0x7fff95ffb700 (LWP 26008)]
[New Thread 0x7fff953fa700 (LWP 26009)]
[New Thread 0x7fff7bfff700 (LWP 26010)]
[New Thread 0x7fff7b7fe700 (LWP 26011)]
[New Thread 0x7fff7affd700 (LWP 26012)]
[New Thread 0x7fff7a7fc700 (LWP 26013)]
[New Thread 0x7fff79ffb700 (LWP 26014)]
[Thread 0x7fff953fa700 (LWP 26009) exited]
[Thread 0x7fff7b7fe700 (LWP 26011) exited]
[Thread 0x7fff7affd700 (LWP 26012) exited]
[Thread 0x7fff7a7fc700 (LWP 26013) exited]
[Thread 0x7fff79ffb700 (LWP 26014) exited]
[New Thread 0x7fff79ffb700 (LWP 26015)]
[Thread 0x7fff79ffb700 (LWP 26015) exited]
[New Thread 0x7fff79ffb700 (LWP 26017)]
[New Thread 0x7fff7a7fc700 (LWP 26018)]
[New Thread 0x7fff7affd700 (LWP 26019)]
[New Thread 0x7fff7b7fe700 (LWP 26020)]
[Thread 0x7fff7a7fc700 (LWP 26018) ...

Revision history for this message
In , Sixtysix (sixtysix) wrote :

Created attachment 104383
quick hack

The problem here seems to be that with small areas to fill
the boxes tessellator receives empty boxes which are
evidently unexpected. The attached patch is derived going
one step back to the source of these empty boxes,
a comment there seems to imply a choice to mimic pixman.

Obviously the real problem could be earlier than there.

A different solution could be to impose a minimum 1 width/height
for the boxes generated.

Revision history for this message
In , Sixtysix (sixtysix) wrote :

Created attachment 104551
testcase

I cairo-traced a visit to youtube using 'surf' and reduced the trace
to the minimum still reproducing the crash in the form of a
cairo test-suite C file.

So, after applying the patch and running make -C test, if you
execute the test with:

> CAIRO_TEST_TARGET=xlib gdb -ex r -ex bt --args test/.libs/cairo-test-suite sweep-line-delete

you'll have a similar backtrace to the one in the bug report.

Revision history for this message
In , Psychon-d (psychon-d) wrote :

(In reply to comment #2)
> Created attachment 104551 [details] [review]
> testcase
>
> I cairo-traced a visit to youtube using 'surf' and reduced the trace
> to the minimum still reproducing the crash in the form of a
> cairo test-suite C file.

Would it be ok with you if this test case were included with Cairo? Would the following license header be suitable? Do you want some copyright notice to be included? Which one?

/*
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use, copy,
 * modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

Revision history for this message
In , Sixtysix (sixtysix) wrote :

Created attachment 104568
alternative solution

An alternative patch that would make the rectangular tessellator
work also with empty boxes, so intrinsically safe also for
other (future) callers.

Obviously only valid if I understood what it's doing and it
is possible to effectively ignore empty boxes.

> Would it be ok with you if this test case were included with Cairo? Would the > following license header be suitable? Do you want some copyright notice to be > included? Which one?

it is ok with me, it is suitable, don't want any copyright notice, whatever.

Revision history for this message
In , Henriqueleng-t (henriqueleng-t) wrote :

Hi Massimo. Looks like you last patch with only 3 lines of code solved the problem!
I applied here and no more segfault.
How i don't understand and i know nothing about cairo, i don't know if what this patch do is the right thing or if is safe use it. All i know it is that it solved, i think.

Should i mark as solved?

I apllyied here and
(In reply to comment #4)
> Created attachment 104568 [details] [review]
> alternative solution
>
> An alternative patch that would make the rectangular tessellator
> work also with empty boxes, so intrinsically safe also for
> other (future) callers.
>
> Obviously only valid if I understood what it's doing and it
> is possible to effectively ignore empty boxes.
>
> > Would it be ok with you if this test case were included with Cairo? Would the > following license header be suitable? Do you want some copyright notice to be > included? Which one?
>
> it is ok with me, it is suitable, don't want any copyright notice, whatever.

Revision history for this message
In , Sixtysix (sixtysix) wrote :

(In reply to comment #5)
> Hi Massimo. Looks like you last patch with only 3 lines of code solved the
> problem!
> I applied here and no more segfault.
> How i don't understand and i know nothing about cairo, i don't know if what
> this patch do is the right thing or if is safe use it. All i know it is that
> it solved, i think.
>

To me it seems correct and safe, it only drops empty
boxes from the list of boxes to be tessellated.

Empty boxes do not alter the insideness of any pixel
because if a ray from the pixel intersects the top edge
it also intersects the bottom edge, one from the left
and the other from the right, so it should be correct
for both (EVEN_ODD, WINDING) fill rules that cairo implements.

OTOH these empty boxes are problematic as they possibly
lead to a segfault.

It is possible that there are better places to discard
these boxes.

> Should i mark as solved?

I'm not a cairo developer, but I'd say not until a fix
has been included in the official source tree. So people
experiencing the same problem can find a solution and report
shortcomings.

There are already many duplicates in many
distribution/application/library bugzilla

Revision history for this message
In , Chris Wilson (ickle) wrote :

(In reply to comment #6)
> (In reply to comment #5)
> > Hi Massimo. Looks like you last patch with only 3 lines of code solved the
> > problem!
> > I applied here and no more segfault.
> > How i don't understand and i know nothing about cairo, i don't know if what
> > this patch do is the right thing or if is safe use it. All i know it is that
> > it solved, i think.
> >
>
> To me it seems correct and safe, it only drops empty
> boxes from the list of boxes to be tessellated.

It is. Could you please write a nice commit log, adding

Reported-by: Henrique Lengler <email address hidden>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699

and submit. Ideally we would love to have a test case to hit this problem as well. If you can capture it using cairo-trace that would be a good start.

> Empty boxes do not alter the insideness of any pixel
> because if a ray from the pixel intersects the top edge
> it also intersects the bottom edge, one from the left
> and the other from the right, so it should be correct
> for both (EVEN_ODD, WINDING) fill rules that cairo implements.
>
> OTOH these empty boxes are problematic as they possibly
> lead to a segfault.
>
> It is possible that there are better places to discard
> these boxes.

That's my only worry, I am trying to remember all the call paths that enter here and why we have empty boxes in the first place. In this case, the empty boxes seem to be part of the clip, which is worrisome. All the zero height boxes should have been prefiltered...

diff --git a/src/cairo-boxes.c b/src/cairo-boxes.c
index 63b68dd..90afdbd 100644
--- a/src/cairo-boxes.c
+++ b/src/cairo-boxes.c
@@ -139,6 +139,8 @@ _cairo_boxes_add_internal (cairo_boxes_t *boxes,
     if (unlikely (boxes->status))
        return;

+ assert(box->x2 > box->x1 && box->y2 > box->y1);
+
     chunk = boxes->tail;
     if (unlikely (chunk->count == chunk->size)) {
        int size;

So yes, this suggests a far deeper problem than just the tesselate failure.

Revision history for this message
In , Sixtysix (sixtysix) wrote :

Created attachment 105050
proposed patch

Revision history for this message
In , Sixtysix (sixtysix) wrote :

Created attachment 105051
cairo script

This is the minimum cairo-trace/script that I obtained.

To crash it I compiled util/cairo-script/csi-replay.c after
changing the #define SINGLE_SURFACE to 0

To derive a test case from it probably it is possible
to use a smaller surface size.

Enabling xlib-xcb prevents the crash, probably another code path
is executed. (Valgrind (--enable-valgrind=no) reports an invalid
read though)

Revision history for this message
In , Psychon-d (psychon-d) wrote :

(In reply to comment #7)
[...]
> That's my only worry, I am trying to remember all the call paths that enter
> here and why we have empty boxes in the first place. In this case, the empty
> boxes seem to be part of the clip, which is worrisome. All the zero height
> boxes should have been prefiltered...
>
> diff --git a/src/cairo-boxes.c b/src/cairo-boxes.c
> index 63b68dd..90afdbd 100644
> --- a/src/cairo-boxes.c
> +++ b/src/cairo-boxes.c
> @@ -139,6 +139,8 @@ _cairo_boxes_add_internal (cairo_boxes_t *boxes,
> if (unlikely (boxes->status))
> return;
>
> + assert(box->x2 > box->x1 && box->y2 > box->y1);
> +
> chunk = boxes->tail;
> if (unlikely (chunk->count == chunk->size)) {
> int size;
>
> So yes, this suggests a far deeper problem than just the tesselate failure.

I guess you meant this: assert(box->p2.x > box->p1.x && box->p2.y > box->p1.y);

That assert triggers for 61 test cases in the test suite. Most of these are due to boxes likes this (this code appears in different places inside of cairo, e.g. _cairo_xcb_surface_fixup_unbounded_boxes and the span compositor's fixup_unbounded_boxes):

    box.p1.x = _cairo_fixed_from_int (extents->unbounded.x + extents->unbounded.width);
    box.p1.y = _cairo_fixed_from_int (extents->unbounded.y);
    box.p2.x = _cairo_fixed_from_int (extents->unbounded.x);
    box.p2.y = _cairo_fixed_from_int (extents->unbounded.y + extents->unbounded.height);

I guess that means that this code is wrong and should be fixed? Perhaps we should even commit this assert to cairo?

At least I didn't find anything generating zero-height boxes.

List of tests: big-empty-box big-empty-triangle big-little-box bug-40410 bug-bo-collins bug-bo-rectangular clip-complex-bug61492 clip-complex-shape-eo-aa clip-complex-shape-eo-mono clip-fill clip-fill-eo-unbounded clip-fill-nz-unbounded clip-group-shapes-unaligned-rectangles clip-mixed-antialias clip-nesting clip-operator clip-shape clip-stroke-unbounded clip-text clip-twice copy-disjoint fill-disjoint get-path-extents hatchings image-surface-source mask operator operator-alpha operator-alpha-alpha paint-with-alpha-clip-mask pdf-surface-source ps-surface-source random-clip record-paint-alpha-clip-mask record-self-intersecting record1414x-self-intersecting record2x-self-intersecting record90-self-intersecting recordflip-self-intersecting rectilinear-fill rotated-clip self-copy self-copy-overlap self-intersecting subsurface-image-repeat subsurface-modify-child subsurface-modify-parent subsurface-pad subsurface-reflect subsurface-repeat surface-pattern-operator svg-surface-source text-glyph-range tighten-bounds trap-clip unantialiased-shapes unbounded-operator white-in-noop xcb-surface-source xlib-surface-source zero-mask

Oh and the assert does not trigger for the test case attached to this bug report (except for the "test-traps" (pseudo-)backend, which doesn't count, I guess). But that test case doesn't crash here either...?

Revision history for this message
In , Chris Wilson (ickle) wrote :

Hmm, nope. We only reject the empty boxes, but allow negative boxes to represent counter winding. That's cunning.

Ok, found the problem. It's the traps-to-boxes routine that doesn't prefilter zero height traps/boxes.

Revision history for this message
In , Chris Wilson (ickle) wrote :

commit 13a09526d2120c244471e03b6ae979016ef88e83
Author: Chris Wilson <email address hidden>
Date: Sat Aug 23 14:16:55 2014 +0100

    traps,xcb: Prefilter zero-area boxes when converting traps

    The rectangular tesselation routines rely on the presuming that all the
    boxes it has to handle are already filtered to remove empty boxes.

    << /width 800 /height 600 >> surface context
    0.0848671 0 0 0.0848671 39.907812 5.608896 matrix transform
    8 0 m 12.417969 0 16 3.582031 16 8 c 16 12.417969 12.417969 16 8 16 c
    3.582031 16 0 12.417969 0 8 c 0 3.582031 3.582031 0 8 0 c h
    clip
    16 0 m 8 8 l 16 16 l h
    clip
    0 0 16 16 rectangle
    fill

    Triggers the error given a traps tesselator like cairo-xlib.

    Reported-by: Henrique Lengler <email address hidden>
    Analyzed-by: Massimo <email address hidden>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699
    Signed-off-by: Chris Wilson <email address hidden>

Fixed, but leaving open to add the testcase.

Revision history for this message
In , Psychon-d (psychon-d) wrote :

*** Bug 72244 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Psychon-d (psychon-d) wrote :

*** Bug 76272 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Adrian Bunk (bunk) wrote :

Created attachment 105218
Crash backtrace

Hi Chris,

thanks for the fix, it greatly increased stability.

But unfortunately sometimes there are still crashes.

Attached is a backtrace for the following (this is Debian 1.12.16-2 plus commit 13a09526 from master):

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff2cb0f98 in sweep_line_delete_edge (edge=0x7fffffff7b00,
    sweep=0x7fffffff77f0)
    at /tmp/cairo-1.12.16/src/cairo-bentley-ottmann-rectangular.c:558
558 edge->next->prev = edge->prev;

Revision history for this message
In , Chris Wilson (ickle) wrote :

/me hangs head in shame

commit a5f51588afd9d5629b03297eb29ff46350b6ba50
Author: Chris Wilson <email address hidden>
Date: Mon Aug 25 08:55:24 2014 +0100

    traps,xcb: Set the box count after filtering

    After converting, the number of boxes should only count the number of
    non-zero boxes and forget about the zero-sized boxes we skipped over.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699
    Signed-off-by: Chris Wilson <email address hidden>

Revision history for this message
In , Adrian Bunk (bunk) wrote :

Hi Chris,

thanks a lot, it no longer crashes for me.

Can these commits also go to the 1.12 branch?

Revision history for this message
In , Psychon-d (psychon-d) wrote :

Cherry-picked 28 commits into the 1.12 branch. I just did a quick search through the git history since 1.12 was branched off master (just after 1.12.16) and took everything which sounded harmless enough.

These two commits are commit 3bb80aa2c3f97c071f434e0fbb6704fbef963352 and commit 4b65497231d1859e03762949896da94ffde389b on the branch.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks, the corresponding upstream commit seem to be
http://cgit.freedesktop.org/cairo/commit/?id=13a09526d2120c244471e03b6ae979016ef88e83
http://cgit.freedesktop.org/cairo/commit/?id=a5f51588afd9d5629b03297eb29ff46350b6ba50

Does it impact any Ubuntu package? If we SRU the fix it should ideally fix a bug reported in launchpad and easy to reproduce so the fix can be confirmed to work

Changed in cairo (Ubuntu):
importance: Undecided → High
status: New → Fix Committed
Changed in cairo (Ubuntu):
status: Fix Committed → Triaged
Revision history for this message
Marc Balmer (marc-wz6bkyh) wrote : Re: [Bug 1391857] Re: libcairo segfaults when rendering video streams, e.g. youtube videos in webkit base browsers

> Am 12.11.2014 um 13:40 schrieb Sebastien Bacher <email address hidden>:
>
> Thanks, the corresponding upstream commit seem to be
> http://cgit.freedesktop.org/cairo/commit/?id=13a09526d2120c244471e03b6ae979016ef88e83
> http://cgit.freedesktop.org/cairo/commit/?id=a5f51588afd9d5629b03297eb29ff46350b6ba50
>
> Does it impact any Ubuntu package? If we SRU the fix it should ideally
> fix a bug reported in launchpad and easy to reproduce so the fix can be
> confirmed to work

Yes it does affect Ubuntu packages, e.g. libwebkitgtk-1.0 uses libcairo when rendering video stream and crashes. Applications that use libwebkitgtk-1.0 consequently also crash.

Revision history for this message
Marc Balmer (marc-wz6bkyh) wrote : Re: [Bug 1391857] libcairo segfaults when rendering video streams, e.g. youtube videos in webkit base browsers

> Am 12.11.2014 um 13:50 schrieb Marc Balmer <email address hidden>:
>
>
>> Am 12.11.2014 um 13:40 schrieb Sebastien Bacher <email address hidden>:
>>
>> Thanks, the corresponding upstream commit seem to be
>> http://cgit.freedesktop.org/cairo/commit/?id=13a09526d2120c244471e03b6ae979016ef88e83
>> http://cgit.freedesktop.org/cairo/commit/?id=a5f51588afd9d5629b03297eb29ff46350b6ba50
>>
>> Does it impact any Ubuntu package? If we SRU the fix it should ideally
>> fix a bug reported in launchpad and easy to reproduce so the fix can be
>> confirmed to work
>
>
> Yes it does affect Ubuntu packages, e.g. libwebkitgtk-1.0 uses libcairo when rendering video stream and crashes. Applications that use libwebkitgtk-1.0 consequently also crash.

The package midori is also affected. Install midori and use the midori browser to view a video on youtube, it will crash e.g. on this one:

https://www.youtube.com/watch?v=b1XGPvbWn0A <https://www.youtube.com/watch?v=b1XGPvbWn0A>

Revision history for this message
Sebastien Bacher (seb128) wrote : Re: libcairo segfaults when rendering video streams, e.g. youtube videos in webkit base browsers

Setting as High and subscribing sponsors, midori is not a very popular browser but that still seems like a bug worth fixing in a stable update

Changed in webkitgtk (Ubuntu):
importance: Undecided → High
Changed in midori (Ubuntu):
importance: Undecided → High
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Considering the amount of fixes that libcairo 1.14 includes (while there are no API changes compared to what we already have), it would probably better to backport the whole new version instead of just cherry picking this fix.

Revision history for this message
Sebastien Bacher (seb128) wrote :

@Marco, we do have a git snapshot, the list of commits doesn't have that many bugfixes. Also version updates are trickier to get accepted and validated...

summary: libcairo segfaults when rendering video streams, e.g. youtube videos in
- webkit base browsers
+ webkit based browsers
Changed in cairo:
importance: Unknown → Critical
status: Unknown → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

The new cairo version is in vivid

Changed in cairo (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

SRUed to trusty as well

description: updated
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Marc, or anyone else affected,

Accepted cairo into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/cairo/1.13.0~20140204-0ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

no longer affects: midori (Ubuntu Trusty)
no longer affects: webkitgtk (Ubuntu Trusty)
Changed in cairo (Ubuntu Trusty):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Could somebody who is having the issue test the fixed version and confirm whether it works or not?

Revision history for this message
Sean Bright (sbright) wrote :

I have been running the trusty-proposed packages in production for about a week on 130 workstations and have not experienced any crashes. Exercising libcairo via webkitgtk via SWT.

Packages:

libcairo2 1.13.0~20140204-0ubuntu1.1
libcairo-gobject2 1.13.0~20140204-0ubuntu1.1

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in midori (Ubuntu):
status: New → Confirmed
Changed in webkitgtk (Ubuntu):
status: New → Confirmed
Sean Bright (sbright)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for cairo has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cairo - 1.13.0~20140204-0ubuntu1.1

---------------
cairo (1.13.0~20140204-0ubuntu1.1) trusty; urgency=medium

  * debian/patches/git_zero_boxes.patch, git_nonzero_boxes.patch:
    - backport upstream fixes for segfault issues (lp: #1391857)
 -- Sebastien Bacher <email address hidden> Wed, 07 Jan 2015 10:03:16 +0100

Changed in cairo (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
In , Andrei ILIE (andrei-ilie) wrote :

CONFIRMING for cairo v1.13.1

$ cat /etc/system-release && uname -a
Fedora release 20 (Heisenbug)
Linux localhost.localdomain 3.17.7-200.fc20.x86_64 #1 SMP Wed Dec 17 03:35:33 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ yum info installed cairo
Loaded plugins: langpacks, priorities, refresh-packagekit
Installed Packages
Name : cairo
Arch : x86_64
Version : 1.13.1
Release : 0.1.git337ab1f.fc20
Size : 1.7 M
Repo : installed
From repo : fedora
Summary : A 2D graphics library
URL : http://cairographics.org
License : LGPLv2 or MPLv1.1

Revision history for this message
In , B-harrington (b-harrington) wrote :

If I understand correctly, this issue has been resolved as of the two commits mentioned by Uli in comment #18, which I've confirmed are included in trunk.

If there are other related changes needed (e.g. test cases?) please re-open and clarify what the remaining tasks are.

Changed in cairo:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.