Hi,All, Currently when testing the HD videos, such as the 1080p videos, in Spice, I found occasionally the spice-server may assert in red_worker such as: dev_destroy_surfaces refs=1 surface_id=179 dev_destroy_surfaces refs=0 surface_id=182 validate_surface: failed on 164 validate_surface: panic !worker->surfaces[surface_id].context.canvas or spice_server_char_device_add_interface: CHAR_DEVICE vdagent main_channel_handle_parsed: agent start dev_destroy_surfaces: ASSERT !worker->surfaces[i].context.canvas failed /usr/lib/libspice-server.so.1(+0xbe105)[0x7fdea67cf105] /usr/lib/libspice-server.so.1(+0x35ba0)[0x7fdea6746ba0] /usr/lib/libspice-server.so.1(+0x1b3d3)[0x7fdea672c3d3] /usr/lib/libspice-server.so.1(+0x3497c)[0x7fdea674597c] /lib/libpthread.so.0(+0x69ca)[0x7fdea7b5b9ca] /lib/libc.so.6(clone+0x6d)[0x7fdea5fdb69d] check the code: static inline void dev_destroy_surfaces(RedWorker *worker) { int i; flush_all_qxl_commands(worker); //to handle better for (i = 0; i < NUM_SURFACES; ++i) { if (worker->surfaces[i].context.canvas) { destroy_surface_wait(worker, i); if (worker->surfaces[i].context.canvas) { red_destroy_surface(worker, i); } ASSERT(!worker->surfaces[i].context.canvas); } } ... here seems the destroy_surface_wait() has not released all the refs on the canvas which causes the last red_destroy_surface() does nothing and then ASSERT() after it. Is this a known issue in such high image/stream pressure case? Could any one share some clues for the fix, thanks in advance! Best regards, Rozen Lin. _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel