After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 765174 - Black screen instead of video output with libva-intel-driver
Black screen instead of video output with libva-intel-driver
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-04-17 11:50 UTC by František Zatloukal
Modified: 2016-05-21 03:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stack Trace (360.16 KB, text/plain)
2016-04-17 19:56 UTC, František Zatloukal
Details
GDB Log (6.17 KB, text/plain)
2016-04-18 12:50 UTC, František Zatloukal
Details
gdb log (3.62 KB, text/plain)
2016-04-18 17:20 UTC, František Zatloukal
Details
vainfo output (1.24 KB, text/plain)
2016-04-18 17:21 UTC, František Zatloukal
Details
GST_DEBUG=vaapi*:5 (54.26 KB, text/plain)
2016-04-21 16:16 UTC, František Zatloukal
Details

Description František Zatloukal 2016-04-17 11:50:32 UTC
Video output is black with libva-intel-driver installed. Everything works correctly without that package.

Bug occurs in GNOME Twitch. Output to console with libva-intel-driver:
[16:44:43] GNOME-Twitch - Message : "{GtApp} Loading chat settings"
[16:44:43] GNOME-Twitch - Message : "{GtApp} Activate"
[16:44:43] Gtk - Warning : "Theme parsing error: gnome-twitch-style.css:43:21: The '-gtk-image-effect' property has been renamed to '-gtk-icon-effect'"
[16:44:49] GNOME-Twitch - Message : "{GtPlayer} Opening stream 'dreamhackcs' with quality 'high'"
[16:44:49] Clutter - Critical : "clutter_actor_remove_child: assertion 'child->priv->parent == self' failed"
[16:44:49] Clutter - Critical : "clutter_actor_add_child: assertion 'child->priv->parent == NULL' failed"
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0

(gnome-twitch:10480): GStreamer-CRITICAL **: gst_buffer_copy_with_flags: assertion 'buffer != NULL' failed
[16:44:50] Cogl - Warning : "driver/gl/cogl-framebuffer-gl.c:983: GL error (1280): Invalid enumeration valuex

Bug previously reported here: https://github.com/Ippytraxx/gnome-twitch/issues/116
Comment 1 Tim-Philipp Müller 2016-04-17 19:15:05 UTC
> [16:44:49] Clutter - Critical : "clutter_actor_remove_child: assertion
> 'child->priv->parent == self' failed"
> [16:44:49] Clutter - Critical : "clutter_actor_add_child: assertion
> 'child->priv->parent == NULL' failed"

These look like they should be fixed? Probably a problem in clutter or the app, no?

 
> (gnome-twitch:10480): GStreamer-CRITICAL **: gst_buffer_copy_with_flags:
> assertion 'buffer != NULL' failed

Could we get a stack trace for this?


> [16:44:50] Cogl - Warning : "driver/gl/cogl-framebuffer-gl.c:983: GL error
> (1280): Invalid enumeration valuex
Comment 2 František Zatloukal 2016-04-17 19:56:30 UTC
Created attachment 326212 [details]
Stack Trace
Comment 3 Tim-Philipp Müller 2016-04-18 10:25:47 UTC
Comment on attachment 326212 [details]
Stack Trace

Thanks, but this is not what I meant with a stack trace. See

https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces/Details

for more information.

The difficulty here is that we want the trace for the gst buffer warning, not the first two criticals. That means setting a break point on g_logv and continuing until we hit the right one. It might be a bit tricky if you haven't used gdb before.

I think you should investigate the two Clutter-Criticals before continuing to look into GStreamer things.

You can see where they happen from with gdb as well, by using

G_DEBUG=fatal_warnings gdb --args ./yourapp
(gdb) run
.. wait for abort ..
(gdb) bt
.. paste this
(gdb) kill
(gdb) quit
Comment 4 František Zatloukal 2016-04-18 12:49:37 UTC
I've tried to run it in gdb (log attached) but it doesn't detect any debugging symbols (although I have run sudo dnf debuginfo-install gnome-twitch-0.2.0-1.fc24.x86_64 and it installed 6GB of symbols). Response to bt was "No stack".
Comment 5 František Zatloukal 2016-04-18 12:50:05 UTC
Created attachment 326249 [details]
GDB Log
Comment 6 Víctor Manuel Jáquez Leal 2016-04-18 16:05:54 UTC
Which version of gstreamer-vaapi are you using?

Looks like an old one, previous to 0.7.0. Can you confirm?
Comment 7 Víctor Manuel Jáquez Leal 2016-04-18 16:07:00 UTC
Also, can you paste the output of vainfo command?
Comment 8 František Zatloukal 2016-04-18 17:20:22 UTC
Oh, you're right, package was rolled back during upgrade from F23 to F24. So I recompiled 0.7.0 rpm, installed it and this is the result:

[17:15:50] GNOME-Twitch - Message : "{GtApp} Loading chat settings"
[17:15:50] GNOME-Twitch - Message : "{GtApp} Activate"
[17:15:51] Gtk - Warning : "Theme parsing error: gnome-twitch-style.css:43:21: The '-gtk-image-effect' property has been renamed to '-gtk-icon-effect'"
[17:15:54] GNOME-Twitch - Message : "{GtPlayer} Opening stream 'savjz' with quality 'high'"
[17:15:54] Clutter - Critical : "clutter_actor_remove_child: assertion 'child->priv->parent == self' failed"
[17:15:54] Clutter - Critical : "clutter_actor_add_child: assertion 'child->priv->parent == NULL' failed"
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
intel_do_flush_locked failed: No such file or directory

Here it crashed.
Comment 9 František Zatloukal 2016-04-18 17:20:56 UTC
Created attachment 326286 [details]
gdb log
Comment 10 František Zatloukal 2016-04-18 17:21:22 UTC
Created attachment 326287 [details]
vainfo output
Comment 11 Víctor Manuel Jáquez Leal 2016-04-21 16:06:38 UTC
Is this the application that are you using?

https://github.com/Ippytraxx/gnome-twitch


Can you run it with the env var GST_DEBUG=vaapi*:5???
Comment 12 František Zatloukal 2016-04-21 16:16:38 UTC
Created attachment 326504 [details]
GST_DEBUG=vaapi*:5
Comment 13 František Zatloukal 2016-04-21 16:16:57 UTC
(In reply to František Zatloukal from comment #12)
> Created attachment 326504 [details]
> GST_DEBUG=vaapi*:5

Output attached.
Comment 14 František Zatloukal 2016-04-21 16:24:45 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #11)
> Is this the application that are you using?
> 
> https://github.com/Ippytraxx/gnome-twitch

Yes, it's that application (release 0.2).
Comment 15 Víctor Manuel Jáquez Leal 2016-04-21 17:35:14 UTC
According to the info you have provided, it doesn't look gstreamer or gstreamer-vaapi are failing, but the application. It seems like it is not able to handle the frames provided by gstreamer-vaapi with meta:GstVideoGLTextureUploadMeta, like if the application only handles frames stored in system memory.

A workaround, in the application could be the force to video/x-raw frames without metas.

In my opinion, you should redirect this feature request to the application tracker.

If you think that the problem is gstreamer-vaapi please feel free to reopen the bug.
Comment 16 František Zatloukal 2016-04-21 18:42:58 UTC
Reported this fact back to upstream: https://github.com/Ippytraxx/gnome-twitch/issues/116

Thanks!
Comment 17 Lionel Landwerlin 2016-04-21 23:03:45 UTC
This is kind of surprising, there is support for gl texture upload in clutter-gst :

https://git.gnome.org/browse/clutter-gst/tree/clutter-gst/clutter-gst-video-sink.c?h=clutter-gst-3.0#n120
https://git.gnome.org/browse/clutter-gst/tree/clutter-gst/clutter-gst-video-sink.c?h=clutter-gst-3.0#n1320

I know it was working with some version of gstreamer-vaapi, but recent updates might have broken this :/
Comment 18 František Zatloukal 2016-04-21 23:16:54 UTC
Bug is in Intel mesa driver (https://bugs.freedesktop.org/show_bug.cgi?id=71759).

LIBGL_DRI3_DISABLE=1 works as workaround.
Comment 19 Víctor Manuel Jáquez Leal 2016-04-22 06:23:00 UTC
(In reply to František Zatloukal from comment #18)
> Bug is in Intel mesa driver
> (https://bugs.freedesktop.org/show_bug.cgi?id=71759).
> 
> LIBGL_DRI3_DISABLE=1 works as workaround.

Thanks! This is interesting!

By the way, with clutterautovideosink works (which is the one I run my tests)