Bug 79644

Summary: SEGV: cairo-spans-compositor.c:96: get_clip_surface: Assertion `clip->path'"
Product: cairo Reporter: Germán Poo-Caamaño <gpoo+bfdo>
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium CC: bitlord0xff, jason, siddhantsaraf
Version: unspecified   
Hardware: Other   
OS: All   
See Also: https://bugzilla.gnome.org/show_bug.cgi?id=731211
Whiteboard:
i915 platform: i915 features:
Attachments: backtrace
the PDF file which causes the crash
backtrace-sid.log
test program

Description Germán Poo-Caamaño 2014-06-04 16:57:56 UTC
Created attachment 100408 [details]
backtrace

This was reported in https://bugzilla.gnome.org/show_bug.cgi?id=731211

And I can reproduce it by running pdftocairo -jpeg.

The document that makes the crash reproducible is available at:
http://dyb.com/micom/MAX220-MAX249-67423.pdf

The issue happens with the page 9.  A full backtrace is attached.

poppler master (fed71eb) and cairo (2a7f133)
Comment 1 Siddhant Saraf 2015-02-12 16:22:34 UTC
Encountered the same bug when opening the a pdf file (attached; filename: "00785838.pdf") using evince (v3.14.1) on Ubuntu 14.10, 64-bit.
The bug is consistent and reproducible.

Also attached is the full baktrace (filename: "backtrace-sid.log").
Comment 2 Siddhant Saraf 2015-02-12 16:23:51 UTC
Created attachment 113411 [details]
the PDF file which causes the crash
Comment 3 Siddhant Saraf 2015-02-12 16:24:56 UTC
Created attachment 113412 [details]
backtrace-sid.log
Comment 4 Jason Crain 2015-09-07 17:57:43 UTC
Created attachment 118128 [details]
test program

Seems to be a bug in cairo.  Attached program causes the assertion.  Compile with:

    gcc cairo-assert.c $(pkg-config --cflags --libs cairo)
Comment 5 Massimo 2015-09-08 06:03:28 UTC
This seems to be a duplicate of bug #78339 which has a
couple of fixes suggested.

A third one could be to 

return CAIRO_INT_STATUS_UNSUPPORTED;

http://cgit.freedesktop.org/cairo/tree/src/cairo-spans-compositor.c#n560

if (need_clip_mask && (! extents->is_bounded || ! extents->clip->path))




extents->clip is dereferenced unconditionally in clip_is_region so
it should not be NULL there.
Comment 6 GitLab Migration User 2018-08-25 13:30:13 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/36.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.