[cairo-bugs] [Bug 23067] New: using clear drawing operator crashes printing
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Aug 5 00:52:34 PDT 2009
http://bugs.freedesktop.org/show_bug.cgi?id=23067
Summary: using clear drawing operator crashes printing
Product: cairo
Version: 1.8.6
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: image backend
AssignedTo: cworth at cworth.org
ReportedBy: thepurlieu at gmail.com
QAContact: cairo-bugs at cairographics.org
I'm a developer for gerbv, which uses cairo for rendering/printing/etc. A bug
was posted recently in which gerbv crased during printing. The output is:
gerbv: /build/buildd/cairo-1.8.6/src/cairo-surface.c:817:
_cairo_surface_set_device_scale: Assertion `status == CAIRO_STATUS_SUCCESS'
failed.
The relevent stack trace is:
#0 0x00007f973da36fb5 in raise () from /lib/libc.so.6
#1 0x00007f973da38bc3 in abort () from /lib/libc.so.6
#2 0x00007f973da2ff09 in __assert_fail () from /lib/libc.so.6
#3 0x00007f973dda55a5 in ?? () from /usr/lib/libcairo.so.2
#4 0x00007f973dd95713 in ?? () from /usr/lib/libcairo.so.2
#5 0x00007f973dd95a2a in ?? () from /usr/lib/libcairo.so.2
#6 0x00007f973dd95b3d in ?? () from /usr/lib/libcairo.so.2
#7 0x00007f973dda3bda in cairo_surface_show_page () from
/usr/lib/libcairo.so.2
#8 0x00007f973dd8ccb0 in ?? () from /usr/lib/libcairo.so.2
#9 0x00007f973dd87249 in cairo_show_page () from /usr/lib/libcairo.so.2
#10 0x00007f97401a3e2d in gtk_print_operation_draw_page_finish () from
/usr/lib/libgtk-x11-2.0.so.0
#11 0x00007f97401a44a9 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x00007f973fdb704b in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#13 0x00007f973e03320a in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#14 0x00007f973e0368e0 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007f973e036dad in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#16 0x00007f97401a43d5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x00007f97401a4fab in gtk_print_operation_run () from
/usr/lib/libgtk-x11-2.0.so.0
#18 0x000000000041e4e0 in callbacks_print_activate (menuitem=<value optimized
out>,
user_data=<value optimized out>) at callbacks.c:504
I traced the problem back to the portion of the file in which we call:
cairo_set_operator (CAIRO_OPERATOR_CLEAR);
to render a portion of the file, effectively clearing a portion of the rendered
context. The on-screen rendering works completely fine with this command,
however when we render the file to a cairo_t and then pass it to the gtk_print
API, it crashes every time. Has this crash ever been seen before?
Cheers,
Julian
--- Comment #1 from Chris Wilson <chris at chris-wilson.co.uk> 2009-08-05 00:52:20 PST ---
I don't recognise this, and to hit any assertion inside Cairo means something
strange and completely unexpected has happened.
I didn't reproduce this printing one of examples packaged with gerbv -- but
that could just be user error.
What would be great would be to confirm this bug with HEAD and then to grab a
cairo-trace of the application hitting the bug. But, to be honest, I have a
strong suspicion that I may have fixed this by reworking the clipping since
1.8.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list