Created attachment 123649 [details] qemu commandline spice server crashes when streaming starts. spice-server commit 7673b388f5c8479f8f8184a46543f68d3ca7fc22 Steps to reproduce: 1. run a win7 vm with "streaming-video=all" (see attachment for more info) 2. connect with a client 3. make it stream (I used some online streaming in firefox) 4. if it does not crash, try to resize guest, or reconnect during streaming ** (process:23484): CRITICAL **: red_upgrade_item_free: assertion 'item->base.refcount != 0' failed ** (process:23484): CRITICAL **: red_upgrade_item_free: assertion 'item->base.refcount != 0' failed (process:23484): Spice-ERROR **: display-channel.c:1844:display_channel_destroy_surfaces: assertion `!display->surfaces[i].context.canvas' failed
git bisect says: 18d3876b78c7f19c577da000d322dbd44e63e456 is the first bad commit commit 18d3876b78c7f19c577da000d322dbd44e63e456 Author: Jonathon Jongsma <jjongsma@redhat.com> Date: Thu Apr 14 16:12:50 2016 -0500 UpgradeItem: use base PipeItem for refcounting No need to re-implement refcounting in this subclass. Acked-by: Frediano Ziglio <fziglio@redhat.com> :040000 040000 2977c2e13bb23a25d8aa09b6f085dd231181ecf3 b3658ce36b7f761baca006bd2e0d9f0f5182afd2 M server
static void upgrade_item_free(UpgradeItem *item) { g_return_if_fail(item != NULL); g_return_if_fail(item->base.refcount != 0); drawable_unref(item->drawable); free(item->rects); free(item); } the refcount condition is inverted.
Fix into master Thanks
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.