Bug 19332

Summary: Valgrind errors in pdf backend (_cairo_pdf_operators_emit_cluster)
Product: cairo Reporter: M Welinder <terra>
Component: pdf backendAssignee: Adrian Johnson <ajohnson>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: medium    
Version: 1.8.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: t8003 log

Description M Welinder 2008-12-29 18:43:38 UTC
Created attachment 21559 [details]
t8003 log

OpenSuSE 11.1

The Gnumeric [svn HEAD] test suite's pdf generation test is unhappy.
It shows memory access violations in Cairo.  Sample below, full log
to follow.

This all worked fine with whatever versions that OpenSuSE 11.0 shipped.
It also does not look like a problem that Gnumeric could have easily
caused by itself.


| ==3584== Invalid read of size 4
| ==3584==    at 0x4CC26FE: _cairo_pdf_operators_emit_cluster (cairo-pdf-operators.c:1284)
| ==3584==    by 0x4CC2B31: _cairo_pdf_operators_show_text_glyphs (cairo-pdf-operators.c:1411)
| ==3584==    by 0x4CDB3F4: _cairo_pdf_surface_show_text_glyphs (cairo-pdf-surface.c:4925)
| ==3584==    by 0x4CADAFE: _cairo_surface_show_text_glyphs (cairo-surface.c:2271)
| ==3584==    by 0x4C9C3D8: _cairo_meta_surface_replay_internal (cairo-meta-surface.c:923)
| ==3584==    by 0x4C9F2E0: _paint_page (cairo-paginated-surface.c:365)
| ==3584==    by 0x4C9F396: _cairo_paginated_surface_show_page (cairo-paginated-surface.c:473)
| ==3584==    by 0x4CAE3DF: cairo_surface_show_page (cairo-surface.c:1802)
| ==3584==    by 0x4C96207: _cairo_gstate_show_page (cairo-gstate.c:1059)
| ==3584==    by 0x4C906F2: cairo_show_page (cairo.c:2204)
| ==3584==    by 0x4868CD4: pdf_end_page (gtkprintoperation.c:1807)
| ==3584==    by 0x48690A6: common_render_page (gtkprintoperation.c:2095)
| ==3584==    by 0x486966E: print_pages_idle (gtkprintoperation.c:2228)
| ==3584==    by 0x4B1756A: gdk_threads_dispatch (gdk.c:473)
| ==3584==    by 0x5079A70: (within /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507B9A7: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507F062: (within /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507F581: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x48695B7: print_pages (gtkprintoperation.c:2382)
| ==3584==    by 0x486A26B: gtk_print_operation_run (gtkprintoperation.c:2556)
| ==3584==  Address 0x5f40724 is 0 bytes after a block of size 420 alloc'd
| ==3584==    at 0x4027DDE: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
| ==3584==    by 0x4C9C2D9: _cairo_meta_surface_replay_internal (cairo-meta-surface.c:906)
| ==3584==    by 0x4C9F2E0: _paint_page (cairo-paginated-surface.c:365)
| ==3584==    by 0x4C9F396: _cairo_paginated_surface_show_page (cairo-paginated-surface.c:473)
| ==3584==    by 0x4CAE3DF: cairo_surface_show_page (cairo-surface.c:1802)
| ==3584==    by 0x4C96207: _cairo_gstate_show_page (cairo-gstate.c:1059)
| ==3584==    by 0x4C906F2: cairo_show_page (cairo.c:2204)
| ==3584==    by 0x4868CD4: pdf_end_page (gtkprintoperation.c:1807)
| ==3584==    by 0x48690A6: common_render_page (gtkprintoperation.c:2095)
| ==3584==    by 0x486966E: print_pages_idle (gtkprintoperation.c:2228)
| ==3584==    by 0x4B1756A: gdk_threads_dispatch (gdk.c:473)
| ==3584==    by 0x5079A70: (within /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507B9A7: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507F062: (within /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x507F581: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.1800.2)
| ==3584==    by 0x48695B7: print_pages (gtkprintoperation.c:2382)
| ==3584==    by 0x486A26B: gtk_print_operation_run (gtkprintoperation.c:2556)
| ==3584==    by 0x416AD88: gnm_print_sheet (print.c:1533)
| ==3584==    by 0x40ED053: pdf_write_workbook (print-info.c:720)
| ==3584==    by 0x435C775: go_file_saver_save_real (file.c:443)
Comment 1 Adrian Johnson 2008-12-29 18:58:27 UTC
This bug has been fixed in cairo 1.8.6. Please re-open the bug if after testing with 1.8.6 you still have this problem.

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.