Closed Bug 1024125 Opened 11 years ago Closed 10 years ago

gstreamer 1.0 with VAAPI support crashes Firefox

Categories

(Core :: Audio/Video, defect)

30 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: devkral, Unassigned)

References

Details

(Keywords: reproducible)

User Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0 (Beta/Release) Build ID: 20140611075517 Steps to reproduce: System: archlinux installed (relevant) packages: gst-vaapi Reproduce: watch html5 videos on youtube for example this: https://www.youtube.com/watch?v=8BJG1Q3uLdE Actual results: firefox hangs then 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) Removing gst-vaapi fixed this crash Expected results: Firefox should have fallen back to an other renderer (e.g. software). Firefox should also ignore gstreamer-vaapi acceleration if hw-acceleration is explicitly turned off
Speicherzugriffsfehler (Speicherabzug geschrieben) = coredump in German
OS: Windows Vista → Linux
I get the same crash with radeonsi_drv_video.so (on Archlinux). There's a report on redhat's bugzilla too: https://bugzilla.redhat.com/show_bug.cgi?id=1105890
I can reproduce this with --enable-gstreamer=1.0, including the fix of removing the vaapi package. I *do* have a working vaapi backend, however.
Blocks: 947287, 806917
Status: UNCONFIRMED → NEW
Component: Untriaged → Video/Audio
Ever confirmed: true
Product: Firefox → Core
Keywords: reproducible
Summary: Gstreamer vaapi without vaapi-support crashes firefox → gstreamer 1.0 with VAAPI support crashes Firefox
(In reply to iam from comment #5) > This is vaapi bug. > Apply this patch for vaapi: > http://cgit.freedesktop.org/libva/commit/va/va. > c?h=staging&id=d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9 I'm still having this issue after aplaying the patch.
(In reply to joaoboia from comment #6) > (In reply to iam from comment #5) > > This is vaapi bug. > > Apply this patch for vaapi: > > http://cgit.freedesktop.org/libva/commit/va/va. > > c?h=staging&id=d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9 > > I'm still having this issue after aplaying the patch. Problems? such as? Did you make sure to install your manually compiled libva in the place gstreamer is looking for it? Does it crash? Does the crash have the same signature as the one discussed in this bug?
(In reply to Elad Alfassa from comment #7) > Problems? such as? > Did you make sure to install your manually compiled libva in the place > gstreamer is looking for it? Does it crash? Does the crash have the same > signature as the one discussed in this bug? Patch was commited to official Arch package. https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/libva&id=6a25cd9794677253dbd3ac77a28f13af8a108fc1 Arch bug tracker was issued to be re-opened by another user (not me). https://bugs.archlinux.org/task/40807 Firefox exits with: 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:26377): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed ** (firefox:26377): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed ** (firefox:26377): CRITICAL **: gst_vaapi_image_get_plane: assertion '_gst_vaapi_image_is_mapped(image)' failed ** (firefox:26377): CRITICAL **: gst_vaapi_image_get_pitch: assertion '_gst_vaapi_image_is_mapped(image)' failed Segmentation fault (core dumped) Only re-logged after installed the package, not sure if I need to restart the machine or re-install firefox.
(In reply to joaoboia from comment #8) Since it fixes the issue for me (on Fedora) please verify that you installed the update to that Arch package (verify that the release tag of your installed package is "2"), and then either: 1) use the firefox crash reporter to report the crash and then go to about:crashes, click on the last crash, and link to it here 2) Get a backtrace with gdb and post it here. (If you need instructions on how to do it, I can provide them). I want to see if it's the exact same crash you are experiencing, or something else. I think it's diffrerent because in your case the output is a bit different, as it seems that other people who experienced this crash are people without a suitable vaapi driver (so gstreamer falls back to software rendering) and in your case you do have a driver (vdpau driver).
(In reply to Elad Alfassa from comment #9) Unfortunately Firefox crash reporter doesn't detect the crash, now that you mention it I don't remember the last time I've seen a crash report box. about:healthreport also states 0 crashes. Arch Linux has the unfortunate habit of stripping symbols, so I'm not sure if it will be useful. I only know hoe to do the basic "run" and "bt": [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 As side note, I'm not using Firefox provided by Arch Linux, instead I use a version compiled from AUR, firefox-kde-opensuse. https://aur.archlinux.org/packages/firefox-kde-opensuse/
(In reply to joaoboia from comment #10) That looks like a completely different crash, probably in gstreamer (unless #0 is in libva, I don't know why your gdb doesn't know which file it came from). I guess you should open a different bug for this one? at least in your distribution or in gstreamer's upstream.
(In reply to joaoboia from comment #10) > (In reply to Elad Alfassa from comment #9) > > Unfortunately Firefox crash reporter doesn't detect the crash, now that you > mention it I don't remember the last time I've seen a crash report box. > about:healthreport also states 0 crashes. > > Arch Linux has the unfortunate habit of stripping symbols, so I'm not sure > if it will be useful. I only know hoe to do the basic "run" and "bt": > > As side note, I'm not using Firefox provided by Arch Linux, instead I use a > version compiled from AUR, firefox-kde-opensuse. > https://aur.archlinux.org/packages/firefox-kde-opensuse/ It looks like that package disables the crash reporter entirely, likely because they aren't setup to push build symbols to our servers. Either way, it's worth filing a new bug for, since it doesn't look related to this vaapi issue.
The gst_vaapi_image_get_plane() crash reported in comment #8 and comment #10 is fixed on my system using gstreamer-vaapi Git master (5ffa82b). It seems to have been fixed after 22dc8c4, which was the last version I tried.
(In reply to ben from comment #13) > The gst_vaapi_image_get_plane() crash reported in comment #8 and comment #10 > is fixed on my system using gstreamer-vaapi Git master (5ffa82b). It seems > to have been fixed after 22dc8c4, which was the last version I tried. Yes, it does fix the issue. Thanks
Does this problem still occur?
Flags: needinfo?(devkral)
Using GStreamer vaapi 0.5.9 I am no longer experiencing this issue.
I'll put this down as a gstreamer-vaapi issue.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(devkral)
You need to log in before you can comment on or make changes to this bug.