[cairo-bugs] [Bug 67171] Memory Leak in win32-display-surface

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu May 5 00:48:16 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=67171

--- Comment #4 from Martin B <eraquila at hotmail.com> ---
(In reply to Fred from comment #3)
> Created attachment 122751 [details] [review]
> Proposed patch to fix the leak
> 
> Here is a simple patch to fix the issue by adding the appropriate call in
> the debug reset static data function.

Hi,

I tried the solution your proposed but I'm still getting leak on :

_cairo_win32_device_get
---> device = malloc (sizeof (*device));

Dumping objects ->
{537} normal block at 0x01141E10, 1032 bytes long.
 Data: <        8+   *  > 10 1E 14 01 C8 19 14 01 38 2B CC 01 90 2A CC 01 
{536} normal block at 0x011419C8, 1032 bytes long.
 Data: <        xW   o  > 10 1E 14 01 80 15 14 01 78 57 CC 01 D8 6F CC 01 
{535} normal block at 0x01141580, 1032 bytes long.
 Data: <    8   8v   u  > 10 1E 14 01 38 11 14 01 38 76 CC 01 D8 75 CC 01 
{534} normal block at 0x01141138, 1032 bytes long.
 Data: <      R 8,   ?  > 10 1E 14 01 B8 D7 52 00 38 2C CC 01 A0 3F CC 01 
{394} normal block at 0x0052D7B8, 1032 bytes long.
 Data: <         J   J  > 10 1E 14 01 00 00 00 00 B8 4A CC 01 08 4A CC 01 
{379} normal block at 0x0052B7A8, 52 bytes long.
 Data: <                > 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
Object dump complete.

I use Intel Parallel Inspector too and the same leak is related. Here is the
log

P8: Warning: Memory not deallocated: New
 P8.26: Warning: Memory not deallocated: 52 Bytes: New
 
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-device.c(137):
Warning X40: Allocation site: Function cairo_win32_device_get: Module
H:\DevelopmentTests\Cairo\cairo\Release\MFCTest.exe
  Code snippet:
   135      return cairo_device_reference (__cairo_win32_device);
   136  
  >137      device = malloc (sizeof (*device));
   138  
   139      _cairo_device_init (&device->base, &_cairo_win32_device_backend);

  Stack (1 of 1 instance(s))
  >MFCTest.exe!cairo_win32_device_get -
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-device.c:137
   MFCTest.exe!cairo_win32_surface_create -
h:\developmenttests\cairo\cairo\cairo_1_12_16\src\win32\cairo-win32-display-surface.c:983
   MFCTest.exe!WindowProc -
h:\developmenttests\cairo\cairo\mfctest\mfctestdlg.cpp:73
   MFCTest.exe!AfxCallWndProc -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp:240
   MFCTest.exe!AfxWndProc -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp:402
   USER32.dll!gapfnScSendMessage - C:\Windows\syswow64\USER32.dll:0x162f7
   USER32.dll!GetDC - C:\Windows\syswow64\USER32.dll:0x17311
   USER32.dll!GetThreadDesktop - C:\Windows\syswow64\USER32.dll:0x16de3
   USER32.dll!GetThreadDesktop - C:\Windows\syswow64\USER32.dll:0x16e41
   ntdll.dll!KiUserCallbackDispatcher - C:\Windows\SysWOW64\ntdll.dll:0x10107
   Unknown![Unknown] - :0x0
   USER32.dll!SendMessageW - C:\Windows\syswow64\USER32.dll:0x19773
   USER32.dll!UpdateWindow - C:\Windows\syswow64\USER32.dll:0x23598
   USER32.dll!IsCharAlphaA - C:\Windows\syswow64\USER32.dll:0x3b98d
   USER32.dll!CreateDialogIndirectParamAorW -
C:\Windows\syswow64\USER32.dll:0x410ce
   USER32.dll!CreateDialogIndirectParamW -
C:\Windows\syswow64\USER32.dll:0x2c654
   MFCTest.exe!CreateDlgIndirect -
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgcore.cpp:312

 P8.30: Warning: Memory not deallocated: 4128 Bytes: New
  h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c(38): Warning X44:
Allocation site: Function pixman_implementation_create: Module
H:\test\Cairo\cairo\Debug\MFCTest.exe
  Code snippet:
   36      assert (fast_paths);
   37  
  >38      if ((imp = malloc (sizeof (pixman_implementation_t))))
   39      {
   40      pixman_implementation_t *d;

  Stack (1 of 1 instance(s))
  >MFCTest.exe!pixman_implementation_create -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:38
   MFCTest.exe!pixman_implementation_create_mmx -
h:\test\cairo\cairo\pixman\pixman\pixman-mmx.c:4021
   MFCTest.exe!pixman_x86_get_implementations -
h:\test\cairo\cairo\pixman\pixman\pixman-x86.c:234
   MFCTest.exe!pixman_choose_implementation -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:393
   MFCTest.exe!fill_xrgb32_lerp_opaque_spans -
h:\test\cairo\cairo\\src\cairo-image-compositor.c:2190
   MFCTest.exe!blit_a8 -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1600
   MFCTest.exe!glitter_scan_converter_render -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1750
   MFCTest.exe!cairo_tor_scan_converter_generate -
h:\test\cairo\cairo\\src\cairo-tor-scan-converter.c:1815
   MFCTest.exe!composite_polygon -
h:\test\cairo\cairo\\src\cairo-spans-compositor.c:778
   MFCTest.exe!clip_and_composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:945
   MFCTest.exe!cairo_spans_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:1059
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_image_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-image-surface.c:958
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183
   MFCTest.exe!cairo_surface_offset_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface-offset.c:187
   MFCTest.exe!cairo_fallback_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-fallback-compositor.c:119
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159

 P8.31: Warning: Memory not deallocated: 1032 Bytes: New
  h:\test\cairo\cairo\pixman\pixman\pixman-general.c(239): Warning X45:
Allocation site: Function pixman_implementation_create_general: Module
H:\test\Cairo\cairo\Debug\MFCTest.exe
  Code snippet:
   237  _pixman_implementation_create_general (void)
   238  {
  >239      pixman_implementation_t *imp = _pixman_implementation_create (NULL,
general_fast_path);
   240  
   241      _pixman_setup_combiner_functions_32 (imp);

  Stack (1 of 1 instance(s))
  >MFCTest.exe!pixman_implementation_create_general -
h:\test\cairo\cairo\pixman\pixman\pixman-general.c:239
   MFCTest.exe!pixman_choose_implementation -
h:\test\cairo\cairo\pixman\pixman\pixman-implementation.c:388
   MFCTest.exe!fill_xrgb32_lerp_opaque_spans -
h:\test\cairo\cairo\cairo\src\cairo-image-compositor.c:2190
   MFCTest.exe!blit_a8 -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1600
   MFCTest.exe!glitter_scan_converter_render -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1750
   MFCTest.exe!cairo_tor_scan_converter_generate -
h:\test\cairo\cairo\cairo\src\cairo-tor-scan-converter.c:1815
   MFCTest.exe!composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:778
   MFCTest.exe!clip_and_composite_polygon -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:945
   MFCTest.exe!cairo_spans_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-spans-compositor.c:1059
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_image_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-image-surface.c:958
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183
   MFCTest.exe!cairo_surface_offset_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface-offset.c:187
   MFCTest.exe!cairo_fallback_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-fallback-compositor.c:119
   MFCTest.exe!cairo_compositor_stroke -
h:\test\cairo\cairo\cairo\src\cairo-compositor.c:159
   MFCTest.exe!cairo_win32_display_surface_stroke -
h:\test\cairo\cairo\cairo\src\win32\cairo-win32-display-surface.c:844
   MFCTest.exe!cairo_surface_stroke -
h:\test\cairo\cairo\cairo\src\cairo-surface.c:2183

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo-bugs/attachments/20160505/5d706a86/attachment.html>


More information about the cairo-bugs mailing list