<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - memory leak in gdk_wayland_window_ensure_cairo_surface"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=775126">775126</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>memory leak in gdk_wayland_window_ensure_cairo_surface
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Platform
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>gtk+
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.89.x
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: Wayland
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>gtk-bugs@gtk.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mail@baedert.org
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>gtk-bugs@gtk.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>GNOME version</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Not sure if this is 3.89 only but I didn't see it in 3.22.

I see a fair amount of this when running the current gtk4-widget-factory in
valgrind:

==2847== 24,472 (14,592 direct, 9,880 indirect) bytes in 38 blocks are
definitely lost in loss record 21,517 of 21,537
==2847==    at 0x4C2AB8D: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2847==    by 0x73B05B7: _cairo_image_surface_create_for_pixman_image
(cairo-image-surface.c:184)
==2847==    by 0x73B0B5E: _cairo_image_surface_create_with_pixman_format
(cairo-image-surface.c:353)
==2847==    by 0x73B0BFF: cairo_image_surface_create
(cairo-image-surface.c:399)
==2847==    by 0x4EE9692: gdk_wayland_window_ensure_cairo_surface
(gdkwindow-wayland.c:818)
==2847==    by 0x4EE9867: gdk_wayland_window_ref_cairo_surface
(gdkwindow-wayland.c:858)
==2847==    by 0x4ED7E23: gdk_window_ref_impl_surface (gdkwindow.c:2595)
==2847==    by 0x4ED7DCF: gdk_window_get_content (gdkwindow.c:2585)
==2847==    by 0x4ED82DA: gdk_window_begin_paint_internal (gdkwindow.c:2720)
==2847==    by 0x4ED89B9: gdk_window_begin_draw_frame (gdkwindow.c:2908)
==2847==    by 0x4FBC268: gtk_widget_render (gtkwidget.c:15744)
==2847==    by 0x51AEB57: gtk_main_do_event (gtkmain.c:1787)
==2847==    by 0x4F0EE7B: _gdk_event_emit (gdkevents.c:73)
==2847==    by 0x4ED9737: _gdk_window_process_updates_recurse_helper
(gdkwindow.c:3443)
==2847==    by 0x4ED9926: _gdk_window_process_updates_recurse
(gdkwindow.c:3495)
==2847==    by 0x4EE5DB2: gdk_window_impl_process_updates_recurse
(gdkwindowimpl.c:333)
==2847==    by 0x4ED9B2C: gdk_window_process_updates_internal
(gdkwindow.c:3570)
==2847==    by 0x4ED9FF8: gdk_window_process_updates_with_mode
(gdkwindow.c:3767)
==2847==    by 0x4EE4A05: gdk_window_paint_on_clock (gdkwindow.c:10424)
==2847==    by 0xA00DBBF: g_cclosure_marshal_VOID(intXX_t &&) volatile
(gmarshal.c:875)
==2847==    by 0xA00EA5D: g_closure_invoke (gclosure.c:804)
==2847==    by 0x9FEFFC0: signal_emit_unlocked_R.lto_priv.369 (gsignal.c:3635)
==2847==    by 0x9FF39E2: g_signal_emit_valist (gsignal.c:3391)
==2847==    by 0x9FF3F21: g_signal_emit (gsignal.c:3447)
==2847==    by 0x4F133B6: _gdk_frame_clock_emit_paint (gdkframeclock.c:640)
==2847==    by 0x4F13F13: gdk_frame_clock_paint_idle (gdkframeclockidle.c:430)
==2847==    by 0x4EFF40F: gdk_threads_dispatch (gdk.c:630)
==2847==    by 0xA4A3021: g_timeout_dispatch.lto_priv.209 (gmain.c:4674)
==2847==    by 0xA4A934D: g_main_dispatch.lto_priv.1021 (gmain.c:3203)
==2847==    by 0xA4A201B: g_main_context_dispatch (gmain.c:3856)
==2847==    by 0xA4A21FF: g_main_context_iterate (gmain.c:3929)
==2847==    by 0xA4A22C3: g_main_context_iteration (gmain.c:3990)
==2847==    by 0x9492921: g_application_run (gapplication.c:2381)
==2847==    by 0x40670D: main (widget-factory.c:1942)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>