Bug 90200

Summary: wayland: thread safety and leaked proxies
Product: libva Reporter: Olivier Crête <olivier.crete>
Component: coreAssignee: haihao <haihao.xiang>
Status: NEEDINFO --- QA Contact: Sean V Kelley <seanvk>
Severity: normal    
Priority: medium CC: eero.t.tamminen, vjaquez
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: libva: wayland: Use a private queue and free registry proxy
intel-driver: Basically the same patch for the driver

Description Olivier Crête 2015-04-27 18:21:27 UTC
Created attachment 115381 [details] [review]
libva: wayland: Use a private queue and free registry proxy

both libva and the intel driver's wayland integration use the global queue. This is not thread safe and may be problematic for some applications. Also, it doesn't clear the proxies and queue correctly before unloading the libEGL.so, which leads to segfaults as libwayland-client tries to access the static wl_interface in the bit that has been unloaded!
Comment 1 Olivier Crête 2015-04-27 18:21:56 UTC
Created attachment 115382 [details] [review]
intel-driver: Basically the same patch for the driver
Comment 2 haihao 2015-04-30 01:03:44 UTC
The old version of wayland-client.h doesn't have wl_display_roundtrip_queue. Could you update the dependency on wayland in configure.ac too ?
Comment 3 haihao 2015-11-24 04:43:38 UTC
Could you update your patch to check wayland version? otherwise your patch might break driver building.
Comment 4 Gautham Kantharaju 2016-08-31 04:03:06 UTC
Using vaapisink for video playback, trying to stop/start the video playback or switch video files.

SIGSEGV is caught in libwayland-client. Pulled in the patches w.r.t libva and libva-intel-driver. Still the issue exists.

Can you let me know, if anything needs to be changed the vaapi gstreamer plugin also in order to resolve the issue?
Comment 5 haihao 2016-09-05 01:50:46 UTC
Someone also reported crash issue when using wayland, the issue disappears after upgrading wanyland-drm in the driver. Could you have a try with the following patches:

libva:
https://lists.freedesktop.org/archives/libva/2016-September/004356.html
https://lists.freedesktop.org/archives/libva/2016-September/004357.html

libva-intel-driver:
https://lists.freedesktop.org/archives/libva/2016-September/004361.html
https://lists.freedesktop.org/archives/libva/2016-September/004362.html

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.