FS#40807 - [firefox] [totem] gst-vaapi crashes
Attached to Project:
Arch Linux
Opened by alex (kabolt) - Wednesday, 11 June 2014, 20:57 GMT
Last edited by Evangelos Foutras (foutrelis) - Tuesday, 15 December 2015, 19:42 GMT
Opened by alex (kabolt) - Wednesday, 11 June 2014, 20:57 GMT
Last edited by Evangelos Foutras (foutrelis) - Tuesday, 15 December 2015, 19:42 GMT
|
Details
Description:
if you use gst-libav for displaying html5 videos and have gst-vaapi installed without having vaapi support firefox segfaults with the error message: libva info: VA-API version 0.35.1 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/r600_drv_video.so libva info: va_openDriver() returns -1 Speicherzugriffsfehler (Speicherabzug geschrieben) Bugfix: remove gst-vaapi |
This task depends upon
Closed by Evangelos Foutras (foutrelis)
Tuesday, 15 December 2015, 19:42 GMT
Reason for closing: Fixed
Additional comments about closing: Firefox 43 now uses FFmpeg for H264 decoding so this can be considered fixed.
Tuesday, 15 December 2015, 19:42 GMT
Reason for closing: Fixed
Additional comments about closing: Firefox 43 now uses FFmpeg for H264 decoding so this can be considered fixed.
libva info: va_openDriver() returns 0
Still, my Firefox crashed:
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
Now, i use Nvidia driver. When i have nouveau, firefox crahsed sometimes.
To work with nouveau, i created a link "/usr/lib/dri/nouveau_drv_video.so" to "/usr/lib/dri/vdpau_drv_video.so".
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'vdpau'
libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
** (firefox:27682): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:27682): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:27682): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:27682): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed
“firefox ” terminated by signal SIGSEGV (Address boundary error)
% LIBVA_DRIVER_NAME=_NONE_ firefox --no-remote -p test
(process:12116): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: User requested driver '_NONE_'
libva info: Trying to open /usr/lib/dri/_NONE__drv_video.so
libva info: va_openDriver() returns -1
[12178] ###!!! ABORT: Aborting on channel error.: file /build/firefox/src/mozilla-release/ipc/glue/MessageChannel.cpp, line 1522
[12178] ###!!! ABORT: Aborting on channel error.: file /build/firefox/src/mozilla-release/ipc/glue/MessageChannel.cpp, line 1522
[1] 12116 segmentation fault (core dumped) LIBVA_DRIVER_NAME=_NONE_ firefox --no-remote -p test
FS#40914? See if a patched libva makes a difference here?http://pastie.org/9311788
[New Thread 0x7fff97c9d700 (LWP 448)]
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'vdpau'
libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_0_33
[New Thread 0x7fff92ab1700 (LWP 449)]
libva info: va_openDriver() returns 0
[New Thread 0x7fff91a6d700 (LWP 458)]
[New Thread 0x7fff90a35700 (LWP 459)]
[New Thread 0x7fff90234700 (LWP 460)]
** (firefox:32735): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:32735): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:32735): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed
** (firefox:32735): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff91a6d700 (LWP 458)]
0x00007fffc6c7d380 in ?? ()
(gdb) bt
#0 0x00007fffc6c7d380 in ?? ()
#1 0x00007fff9cc91a65 in ?? () from /usr/lib/libgstvideo-1.0.so.0
#2 0x00007fff9cc740ad in ?? () from /usr/lib/libgstvideo-1.0.so.0
#3 0x00007fff91c8cbfb in ?? () from /usr/lib/gstreamer-1.0/libgstvideoconvert.so
#4 0x00007fff91c8b8a9 in ?? () from /usr/lib/gstreamer-1.0/libgstvideoconvert.so
#5 0x00007fff9cc7a777 in ?? () from /usr/lib/libgstvideo-1.0.so.0
#6 0x00007fff9cedb847 in ?? () from /usr/lib/libgstbase-1.0.so.0
#7 0x00007fff9cedc0a1 in ?? () from /usr/lib/libgstbase-1.0.so.0
#8 0x00007fff9e75cd08 in ?? () from /usr/lib/libgstreamer-1.0.so.0
#9 0x00007fff9e74ee2b in gst_proxy_pad_chain_default () from /usr/lib/libgstreamer-1.0.so.0
#10 0x00007fff9e75cd08 in ?? () from /usr/lib/libgstreamer-1.0.so.0
#11 0x00007fff99f35eb0 in ?? () from /usr/lib/gstreamer-1.0/libgstcoreelements.so
#12 0x00007fff9e78a549 in ?? () from /usr/lib/libgstreamer-1.0.so.0
#13 0x00007fffef44d61c in ?? () from /usr/lib/libglib-2.0.so.0
#14 0x00007fffef44cc95 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007ffff7bc5124 in start_thread () from /usr/lib/libpthread.so.0
#16 0x00007ffff70e24bd in clone () from /usr/lib/libc.so.6
I get the same output than cristHian Gz,
I have an amd radeon HD4650 and I use the open source driver ( radeon ),
vdpau driver works fine with mplayer,
I think the culprit is libva, because I have problems in kaffeine ( dvb-t software ) if I use libva for hardware acceleration ( mpeg2 video will freeze ), if I use vdpau then there is no problem with kaffeine
maybe these problems occur only with the radeon open source driver
Open video in Totem, it starts to play fine.
Try to load a subtitle file. It crashes.
Per the original report removing gst-vaapi makes the issue go away (at the expense of not having graphics hardware accelerated video decoding of course).
Removing gst-vaapi fixes the issue with firefox.
Interestingly, I get this output in terminal when using gst-vaapi with both firefox and gst-play-1.0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
Hardware:Intel Core i5 with HD3000 graphics.
While gst-play-1.0 plays the video without hitch, firefox increases cpu usage to 80-90%.
I'm getting crazy with these crashes :D
In the terminal I get:
[mattia@arch-dekstop ~]$ firefox
(process:10270): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
(firefox:10270): GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
(firefox:10270): GStreamer-CRITICAL **: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
(firefox:10270): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
** (firefox:10270): CRITICAL **: gst_app_sink_set_callbacks: assertion 'GST_IS_APP_SINK (appsink)' failed
** (firefox:10270): CRITICAL **: gst_app_sink_set_callbacks: assertion 'GST_IS_APP_SINK (appsink)' failed
(firefox:10270): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed
(firefox:10270): GStreamer-CRITICAL **: gst_pad_add_probe: assertion 'GST_IS_PAD (pad)' failed
(firefox:10270): GStreamer-CRITICAL **: gst_pad_add_probe: assertion 'GST_IS_PAD (pad)' failed
Segmentation fault
but nothing in dmesg
This works for me in SD, http://www.youtube.com/watch?v=9vZvqNBGagw
but crashes firefox As soon as i switch it to hd.
ibva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
youtube has always worked well for me
the above youtube video works, too, both SD and HD, both window and full-screen
EDIT:
I report the output, could be useful:
[mattia@arch-dekstop ~]$ firefox
(process:4379): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
** (firefox:4379): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed
** (firefox:4379): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed
** (firefox:4379): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed
** (firefox:4379): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed
** (firefox:4379): CRITICAL **: gst_app_src_set_size: assertion 'GST_IS_APP_SRC (appsrc)' failed
ATTENTION: default value of option force_s3tc_enable overridden by environment.
ATTENTION: option value of option force_s3tc_enable ignored.
My issue is probably is due to libva-vdpau-driver (?)
but anyway I have libva-vdpau-driver installed, too
now everything works: both with totem and parole (another media player based on gst)
EDIT: with parole I get those warning (because the player works and the video is played...):
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
Could you try playing http://samples.mplayerhq.hu.nyud.net/V-codecs/h264/PAFF/Grey.ts with Totem? It's an example of file that plays in parole for me but not totem.
Additional software is required.
Parole needs H.264 decoder to play this file.
It can be installed automatically.
anyway I already have libx264...
with totem, it can't play the video in fact I get a similar error, BUT totem plays sound:
No accelerated IMDCT transform found
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
** Message: Missing plugin: gstreamer|1.0|totem|H.264 decoder|decoder-video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true (H.264 decoder)
** Message: Automatic missing codec installation not supported (helper script missing)
About the videos, I just opened random ones and while sd were fine switching them to hd doesn't work. Weird thing is an episode of a hd tv show I had didn't work, same error, while all the other episodes did.
Anyway, with gst-plugins-ugly installed parole plays that file just fine for me, but totem does not. Wonder if totem just has issues with H264?
Mattia: I get different output from you in the terminal when playing Grey.ts with totem. Though it's to be expected as we're using different graphics drivers and I have whatever codec pack gstreamer needs to play that file installed (I think gst-plugins-ugly). In both totem and parole I get the same output in the terminal, except in Parole the video plays and in totem it doesn't. The file plays fine in totem if I remove gst-vaapi. It is:
No accelerated IMDCT transform found
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
Errore di segmentazione
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_37
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[2619] ###!!! ABORT: Divide by zero: file /build/firefox/src/mozilla-release/toolkit/xre/nsSigHandlers.cpp, line 154
I'm having the same issue for a few days now. Took me a while to get the time to track it down.
After disabling everything (including hardware acceleration in settings), trying safe mode, and what not, I started noticing this in the console log:
[code]
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
Segmentation fault (core dumped)
[/code]
My hardware:
Intel i3
nvidia GTX 560
My driver setup and libraries are current:
[code]
local/lib32-libcl 1.1-1
OpenCL library and ICD loader from NVIDIA (32-bit)
local/lib32-libvdpau 1.1-1
Nvidia VDPAU library
local/lib32-nvidia-libgl 352.09-1
NVIDIA drivers libraries symlinks (32-bit)
local/lib32-nvidia-utils 352.09-1
NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 352.09-1
OpenCL implemention for NVIDIA (32-bit)
local/libcl 1.1-4
OpenCL library and ICD loader from NVIDIA
local/libvdpau 1.1-1
Nvidia VDPAU library
local/nvidia 352.09-1
NVIDIA drivers for linux
local/nvidia-libgl 352.09-1
NVIDIA drivers libraries symlinks
local/nvidia-utils 352.09-1
NVIDIA drivers utilities
local/opencl-nvidia 352.09-1
OpenCL implemention for NVIDIA
local/xf86-video-nouveau 1.0.11-3 (xorg-drivers xorg)
Open Source 2D acceleration driver for nVidia cards
local/libva 1.5.1-1
Video Acceleration (VA) API for Linux
local/gstreamer-vaapi 0.5.10-1
GStreamer Multimedia Framework VA Plugins
[/code]
I found this post related to the same issue:
https://bbs.archlinux.org/viewtopic.php?id=182754
Which lead me to this bug report.
Here are the tests I did and what I found:
If I uninstall libva-vdpau-driver but keep gst-libav and gstreamer-vaapi, I get the following output from firefox:
[code]
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[/code]
And it doesn't seem to crash yet.
If, instead I uninstall gst-libav-1.4.5-1 and gstreamer-vaapi-0.5.10-1 , but keep libva-vdpau-driver-0.7.4-2, then I don t get any output from firefox about loading nvidia drivers when playing video (which means there is no acceleration), but no crashes either.
So, I don't know where the problem is, but it's in some way related to nvidia acceleration of html5 videos in firefox and this 3 packages.
My 100% working test (where I can reproduce while making changes) is this article from Rolling Stone:
http://www.rollingstone.com/music/videos/watch-coldplay-adapt-game-of-thrones-into-ridiculous-musical-20150522
If I click the fullscreen button in the video, it crashes. I didn't notice it's when it goes HD until I read the other reports in this bug.
ps. Tried the other videos posted. Same results.
Now, it works fine, no more crashes !
I do not know when it was fixed, nor what ?
Edit:
Sorry, I made a mistake, firefox-beta-bin 42.0-1 from AUR does NOT crash even though it is the same version as the firefox package in the official extra repository. So it seems like it is some packaging issue. Also, Media Source Extensions with WebM don't work with the official package while they do work with the AUR package.