<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Memory Leak in win32-display-surface"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67171#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Memory Leak in win32-display-surface"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67171">bug 67171</a>
from <span class="vcard"><a class="email" href="mailto:eraquila@hotmail.com" title="Martin B <eraquila@hotmail.com>"> <span class="fn">Martin B</span></a>
</span></b>
<pre>(In reply to Fred from <a href="show_bug.cgi?id=67171#c3">comment #3</a>)
<span class="quote">> Created <span class=""><a href="attachment.cgi?id=122751" name="attach_122751" title="Proposed patch to fix the leak">attachment 122751</a> <a href="attachment.cgi?id=122751&action=edit" title="Proposed patch to fix the leak">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=67171&attachment=122751'>[review]</a> [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.</span >
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</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>