[Spice-devel] [bug spice-gtk] spice-gtk memory leak

徐舫 xufango at gmail.com
Fri Mar 16 02:27:06 PDT 2012


We found that spice-gtk exists serious memory leak problem.

The call stack is as follow:

-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------

spice_malloc(): common\mem.c
spice_malloc_n(): common\mem.c
_surface_create_stride(): common\canvas_utils.c
surface_create_stride(): common\canvas_utils.c
alloc_lz_image_surface(): common\canvas_utils.c
glz_image_new(): decode_glz.c
decode(): decode_glz.c
canvas_get_glz_rgb_common(): common\canvas_base.c
canvas_get_glz(): common\canvas_base.c
canvas_get_image_internal(): common\canvas_base.c
canvas_get_image(): common\canvas_base.c
canvas_draw_copy(): common\canvas_base.c
display_handle_draw_copy(): channel_display.c
spice_display_handle_msg(): channel_display.c

-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------

The main problem is in canvas_draw_copy(): common\canvas_base.c


src_image = canvas_get_image(canvas, copy->src_bitmap, FALSE);
......
......
pixman_image_unref(src_image);


Then the pixman goes to "static void release_data(pixman_image_t *image,
void *release_data)" in common\canvas_utils.c.

But the allocated memory does not free.


On a RHEL 6.1 server, spice-gtk display window can use 300M or more memory,
and the memory usage keep increasing.


-- 
Xu Fang
School of Computer Science and Engineering, Beihang University
State Key Laboratory of Virtual Reality Technology and Systems,
Beijing,P.R.China
Address:
    Beihang University
    Room727, NewMain Building,
    No. 35 Xueyuan Road, Haidian Distric,
    Beijing,P.R.China,100191
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120316/345a65eb/attachment.htm>


More information about the Spice-devel mailing list