[Spice-devel] HD videos cause spice server to assert.

Rozen Lin rozen.lin at sinobot.com.cn
Fri Jan 4 16:45:31 PST 2013


Hi David,
   Thanks a lot! I will try that.
Best regards,
            Rozen  Lin.

On Fri, 2013-01-04 at 11:41 +0100, David Jaša wrote:
> Hi Rozen,
> 
> Rozen Lin píše v Pá 04. 01. 2013 v 17:52 +0800:
> > 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
> 
> crashes with precisely this error were fixed in spice-server recently
> and they are included in spice-server 0.12:
> https://bugzilla.redhat.com/show_bug.cgi?id=824384
> 
> David
> 
> > /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 at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 




More information about the Spice-devel mailing list