[Libva] vaPutSurface never returns
Vasilis Liaskovitis
vliaskov at gmail.com
Thu Feb 18 22:43:17 UTC 2016
Hi,
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).
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?)
Using vdpau driver on radeon.
Backtrace of thread waiting in vaPutSurface():
Thread 8 (Thread 0x7fca1f778700 (LWP 3580)):
#0 0x00007fca55a3e12d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fca5316b262 in poll (__timeout=-1, __nfds=1,
__fds=0x7fca1f776a20) at
/usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2 _xcb_conn_wait (c=c at entry=0x2885500, cond=cond at entry=0x7fca1f776b40,
vector=vector at entry=0x0, count=count at entry=0x0) at xcb_conn.c:459
#3 0x00007fca5316cadf in wait_for_reply (c=c at entry=0x2885500,
request=31161,
e=e at entry=0x0) at xcb_in.c:491
#4 0x00007fca5316cbf2 in xcb_wait_for_reply (c=0x2885500, request=31161,
e=0x0)
at xcb_in.c:521
#5 0x00007fca419b8004 in vl_dri2_get_flush_reply (scrn=0x2653600) at
../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:110
#6 0x00007fca419b8101 in vl_dri2_destroy_drawable (scrn=0x2653600) at
../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:153
#7 0x00007fca419b8185 in vl_dri2_set_drawable (scrn=0x2653600,
drawable=71303307) at
../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:176
#8 0x00007fca419b82c8 in vl_dri2_screen_texture_from_drawable
(vscreen=0x2653600, drawable=0x440008b) at
../../../../../src/gallium/auxiliary/vl/vl_winsys_dri.c:193
#9 0x00007fca419b61ab in vlVdpPresentationQueueDisplay
(presentation_queue=<optimized out>, surface=5, clip_width=1280,
clip_height=720, earliest_presentation_time=0)
at
../../../../../../src/gallium/state_trackers/vdpau/presentation.c:234
#10 0x00007fca423ca6a3 in flip_surface_unlocked
(driver_data=driver_data at entry=0x2650c90,
obj_output=obj_output at entry=0x291a2b0) at vdpau_video_x11.c:583
#11 0x00007fca423cb2e1 in queue_surface_unlocked (obj_surface=<optimized
out>,
obj_output=0x291a2b0, driver_data=0x2650c90) at
vdpau_video_x11.c:610
#12 put_surface_unlocked (flags=32, target_rect=0x7fca1f776f90,
source_rect=0x7fca1f776f80, obj_output=0x291a2b0,
obj_surface=0x2919bf0,
driver_data=0x2650c90) at vdpau_video_x11.c:689
#13 put_surface (driver_data=driver_data at entry=0x2650c90,
surface=surface at entry=50331655, drawable=drawable at entry=71303307,
drawable_width=<optimized out>, drawable_height=720,
source_rect=source_rect at entry=0x7fca1f776f80,
target_rect=target_rect at entry=0x7fca1f776f90, flags=flags at entry
=32)
at vdpau_video_x11.c:755
#14 0x00007fca423cb59c in vdpau_PutSurface (ctx=<optimized out>,
surface=50331655, draw=0x440008b, srcx=<optimized out>,
srcy=<optimized
out>, srcw=<optimized out>, srch=720, destx=0, desty=0,
destw=1280, desth=720, cliprects=0x0, number_cliprects=0,
flags=32)
at vdpau_video_x11.c:808
#15 0x000000000040eed2 in on_client_draw (glsink=<optimized out>,
buf=<optimized
out>, data=0x626d40 <video>) at video.c:619
Full backtrace at:http://pastebin.com/RZqmUkMY
Using vdpau driver on radeon and:
libX11 1.6.2
libxcb 1.11 or 1.10
mesa 11.0
thank you for any help,
- Vasilis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libva/attachments/20160218/f045d9ef/attachment.html>
More information about the Libva
mailing list