Bug 882976

Summary: Pixman/Cairo leaks like crazy
Product: [Fedora] Fedora Reporter: Milan Crha <mcrha>
Component: pixmanAssignee: Adam Jackson <ajax>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 18CC: ajax, awilliam, tbzatek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedNTH
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-02 21:47:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 752665    

Description Milan Crha 2012-12-03 14:29:30 UTC
After running Evolution for about 5 minutes I get this memory leak for memory allocated in pixman, used by cairo, through gtk. One of these is responsible :)

This is for:
cairo-1.12.8-1.fc18.x86_64
pixman-0.26.2-5.fc18.x86_64
gtk3-3.6.1-1.fc18.x86_64

Valgrind snap:
1,672,800 bytes in 6,150 blocks are definitely lost in loss record 39,956 of 39,961
   at 0x4A0883C: malloc (vg_replace_malloc.c:270)
   by 0x3C95E4306A: _pixman_image_allocate (pixman-image.c:184)
   by 0x3C95E1C7A2: pixman_image_create_bits (pixman-bits-image.c:1501)
   by 0x7C27E69: _cairo_xlib_shm_surface_create.isra.11 (cairo-xlib-surface-shm.c:768)
   by 0x7C28746: _cairo_xlib_surface_create_shm (cairo-xlib-surface-shm.c:1085)
   by 0x7C287E9: _cairo_xlib_surface_create_similar_shm (cairo-xlib-surface-shm.c:1112)
   by 0x7C233A0: _cairo_xlib_source_create_for_pattern (cairo-xlib-source.c:955)
   by 0x7C094F5: clip_and_composite_boxes (cairo-traps-compositor.c:1272)
   by 0x7C09ECA: _cairo_traps_compositor_paint (cairo-traps-compositor.c:2036)
   by 0x7BB6FC0: _cairo_compositor_paint (cairo-compositor.c:65)
   by 0x7BF77B0: _cairo_surface_paint (cairo-surface.c:2006)
   by 0x7BFC505: _cairo_surface_offset_paint (cairo-surface-offset.c:85)
   by 0x7BFD9BE: _cairo_surface_subsurface_paint (cairo-surface-subsurface.c:122)
   by 0x7BF77B0: _cairo_surface_paint (cairo-surface.c:2006)
   by 0x7BBE84B: _cairo_gstate_paint (cairo-gstate.c:1067)
   by 0x7BB1B56: cairo_paint (cairo.c:1999)
   by 0x3C9A860D34: gtk_theming_engine_render_icon (gtkthemingengine.c:2809)
   by 0x3C9A81B27D: gtk_render_icon (gtkstylecontext.c:4325)
   by 0x3C9A75F4E9: _gtk_icon_helper_draw (gtkiconhelper.c:589)
   by 0x3C9A76FD17: gtk_image_draw (gtkimage.c:1416)
   by 0x3C9A78EB2E: _gtk_marshal_BOOLEAN__BOXEDv (gtkmarshalers.c:130)
   by 0x3C9A8BA01D: gtk_widget_draw_marshallerv (gtkwidget.c:851)
   by 0x3C88A0FB0A: _g_closure_invoke_va (gclosure.c:840)
   by 0x3C88A283A7: g_signal_emit_valist (gsignal.c:3211)
   by 0x3C88A28DE1: g_signal_emit (gsignal.c:3356)
   by 0x3C9A8BD4FB: _gtk_widget_draw_internal (gtkwidget.c:5752)
   by 0x3C9A6FB482: gtk_container_propagate_draw (gtkcontainer.c:3394)
   by 0x3C9A6B53D9: gtk_box_forall (gtkbox.c:1865)
   by 0x3C9A6F9E6B: gtk_container_draw (gtkcontainer.c:3258)
   by 0x3C9A78EB2E: _gtk_marshal_BOOLEAN__BOXEDv (gtkmarshalers.c:130)
   by 0x3C9A8BA01D: gtk_widget_draw_marshallerv (gtkwidget.c:851)
   by 0x3C88A0FB0A: _g_closure_invoke_va (gclosure.c:840)
   by 0x3C88A283A7: g_signal_emit_valist (gsignal.c:3211)
   by 0x3C88A28DE1: g_signal_emit (gsignal.c:3356)
   by 0x3C9A8BD4FB: _gtk_widget_draw_internal (gtkwidget.c:5752)
   by 0x3C9A6FB482: gtk_container_propagate_draw (gtkcontainer.c:3394)
   by 0x3C9A6F9E6B: gtk_container_draw (gtkcontainer.c:3258)
   by 0x3C9A78EB2E: _gtk_marshal_BOOLEAN__BOXEDv (gtkmarshalers.c:130)
   by 0x3C9A8BA01D: gtk_widget_draw_marshallerv (gtkwidget.c:851)
   by 0x3C88A0FB0A: _g_closure_invoke_va (gclosure.c:840)
   by 0x3C88A283A7: g_signal_emit_valist (gsignal.c:3211)
   by 0x3C88A28DE1: g_signal_emit (gsignal.c:3356)
   by 0x3C9A8BD4FB: _gtk_widget_draw_internal (gtkwidget.c:5752)
   by 0x3C9A6FB482: gtk_container_propagate_draw (gtkcontainer.c:3394)
   by 0x3C9A6F9E6B: gtk_container_draw (gtkcontainer.c:3258)
   by 0x3C9A6BF176: gtk_button_draw (gtkbutton.c:1766)
   by 0x3C9A78EB2E: _gtk_marshal_BOOLEAN__BOXEDv (gtkmarshalers.c:130)
   by 0x3C9A8BA01D: gtk_widget_draw_marshallerv (gtkwidget.c:851)
   by 0x3C88A0FB0A: _g_closure_invoke_va (gclosure.c:840)
   by 0x3C88A283A7: g_signal_emit_valist (gsignal.c:3211)

Comment 1 Milan Crha 2012-12-03 14:43:39 UTC
Just in case, this is fallback mode, not a gnome-shell.

Comment 2 Fedora Update System 2012-12-19 14:31:05 UTC
cairo-1.12.8-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/cairo-1.12.8-2.fc18

Comment 3 Adam Williamson 2012-12-19 21:25:15 UTC
Discussed at 2012-12-19 NTH review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-19/f18final-blocker-review-6.2012-12-19-17.02.log.txt . Accepted as NTH, memory leaks are baaad, man.

Comment 4 Fedora Update System 2012-12-19 22:38:58 UTC
Package cairo-1.12.8-2.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing cairo-1.12.8-2.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-20670/cairo-1.12.8-2.fc18
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-01-02 21:47:44 UTC
cairo-1.12.8-2.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.