<div dir="ltr"><div>Hi,<br><br>I have an application that renders by binding libva/vdpau surfaces onto GLX pixmaps.Playback works ok for a while, but than the application displays black frames after a few minutes of operation (always reproducible within 1-15 minutes usually).<br> <br></div><div></div>When this happens, gdb backtrace shows that the current call to vdpau_PutSurface (done from the application) never returns. Are there any obious reasons that would lead to vaPutSurface to never return (e.g. some deadlock in libva/vdpau?)<br><br>Using vdpau driver on radeon.<br><br><div>Backtrace of thread waiting in vaPutSurface():<br> <br>Thread 8 (Thread 0x7fca1f778700 (LWP 3580)):<br>#0  0x00007fca55a3e12d in poll () at ../sysdeps/unix/syscall-template.S:81<br>#1  0x00007fca5316b262 in poll (__timeout=-1, __nfds=1, __fds=0x7fca1f776a20) at<br>    /usr/include/x86_64-linux-gnu/bits/poll2.h:46<br>#2  _xcb_conn_wait (c=c@entry=0x2885500, cond=cond@entry=0x7fca1f776b40,<br>        vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:459<br>#3  0x00007fca5316cadf in wait_for_reply (c=c@entry=0x2885500, request=31161,<br>        e=e@entry=0x0) at xcb_in.c:491<br>#4  0x00007fca5316cbf2 in xcb_wait_for_reply (c=0x2885500, request=31161, e=0x0)<br>at xcb_in.c:521<br>#5  0x00007fca419b8004 in vl_dri2_get_flush_reply (scrn=0x2653600) at<br>../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:110<br>#6  0x00007fca419b8101 in vl_dri2_destroy_drawable (scrn=0x2653600) at<br>../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:153<br>#7  0x00007fca419b8185 in vl_dri2_set_drawable (scrn=0x2653600,<br>        drawable=71303307) at<br>../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:176<br>#8  0x00007fca419b82c8 in vl_dri2_screen_texture_from_drawable<br>(vscreen=0x2653600, drawable=0x440008b) at<br>../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:193<br>#9  0x00007fca419b61ab in vlVdpPresentationQueueDisplay<br>(presentation_queue=<optimized out>, surface=5, clip_width=1280,<br> clip_height=720, earliest_presentation_time=0)<br>        at ../../../../../../src/gallium/state_trackers/vdpau/presentation.c:234<br>#10 0x00007fca423ca6a3 in flip_surface_unlocked<br>        (driver_data=driver_data@entry=0x2650c90,<br>         obj_output=obj_output@entry=0x291a2b0) at vdpau_video_x11.c:583<br>#11 0x00007fca423cb2e1 in queue_surface_unlocked (obj_surface=<optimized out>,<br>        obj_output=0x291a2b0, driver_data=0x2650c90) at vdpau_video_x11.c:610<br>#12 put_surface_unlocked (flags=32, target_rect=0x7fca1f776f90,<br>        source_rect=0x7fca1f776f80, obj_output=0x291a2b0, obj_surface=0x2919bf0,<br>        driver_data=0x2650c90) at vdpau_video_x11.c:689<br>#13 put_surface (driver_data=driver_data@entry=0x2650c90,<br>        surface=surface@entry=50331655, drawable=drawable@entry=71303307,<br>        drawable_width=<optimized out>, drawable_height=720,<br>            source_rect=source_rect@entry=0x7fca1f776f80,<br>            target_rect=target_rect@entry=0x7fca1f776f90, flags=flags@entry=32)<br>at vdpau_video_x11.c:755<br>#14 0x00007fca423cb59c in vdpau_PutSurface (ctx=<optimized out>,<br>        surface=50331655, draw=0x440008b, srcx=<optimized out>, srcy=<optimized<br>        out>, srcw=<optimized out>, srch=720, destx=0, desty=0,<br>            destw=1280, desth=720, cliprects=0x0, number_cliprects=0, flags=32)<br>at vdpau_video_x11.c:808<br>#15 0x000000000040eed2 in on_client_draw (glsink=<optimized out>, buf=<optimized<br>        out>, data=0x626d40 <video>) at video.c:619<br><br><br>Full backtrace at:<a href="http://pastebin.com/RZqmUkMY">http://pastebin.com/RZqmUkMY</a><br><br>Using vdpau driver on radeon and:<br><br>libX11 1.6.2<br>libxcb 1.11 or 1.10<br>mesa 11.0<br><br><br></div><div>thank you for any help,<br><br></div><div>- Vasilis<br></div></div>