We found that spice-gtk exists serious memory leak problem.<div><br></div><div>The call stack is as follow:</div><div><br></div><div>-----------------------------------------------------------------------------------------------------------<br>
</div><div>-----------------------------------------------------------------------------------------------------------<br></div><div><br></div><div><div>spice_malloc(): common\mem.c</div><div>spice_malloc_n(): common\mem.c</div>
<div>_surface_create_stride(): common\canvas_utils.c</div><div>surface_create_stride(): common\canvas_utils.c</div><div>alloc_lz_image_surface(): common\canvas_utils.c</div><div>glz_image_new(): decode_glz.c</div><div>decode(): decode_glz.c</div>
<div>canvas_get_glz_rgb_common(): common\canvas_base.c</div><div>canvas_get_glz(): common\canvas_base.c</div><div>canvas_get_image_internal(): common\canvas_base.c</div><div>canvas_get_image(): common\canvas_base.c</div><div>
canvas_draw_copy(): common\canvas_base.c</div><div>display_handle_draw_copy(): channel_display.c</div><div>spice_display_handle_msg(): channel_display.c</div></div><div><br></div><div>-----------------------------------------------------------------------------------------------------------</div>
<div>-----------------------------------------------------------------------------------------------------------<br></div><div><br></div><div>The main problem is in canvas_draw_copy(): common\canvas_base.c</div><div><br></div>
<div><br></div><div>src_image = canvas_get_image(canvas, copy-&gt;src_bitmap, FALSE);<br clear="all"><div>......</div><div>......</div><div>pixman_image_unref(src_image);<br></div><div><br></div><div><br></div><div>Then the pixman goes to &quot;static void release_data(pixman_image_t *image, void *release_data)&quot; in common\canvas_utils.c.</div>
<div><br></div><div>But the allocated memory does not free.</div><div><br></div><div><br></div><div>On a RHEL 6.1 server, spice-gtk display window can use 300M or more memory, and the memory usage keep increasing. </div><div>
<br></div><div><br></div>-- <br>Xu Fang<br>School of Computer Science and Engineering, Beihang University<br>State Key Laboratory of Virtual Reality Technology and Systems,<br>Beijing,P.R.China<br>Address: <br>    Beihang University<br>
    Room727, NewMain Building, <br>    No. 35 Xueyuan Road, Haidian Distric, <br>    Beijing,P.R.China,100191<br>
</div>