Open Bug 1634550 Opened 4 years ago Updated 2 months ago

WARNING: Decoder=7f0447fb4000 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005)

Categories

(Core :: Audio/Video: Playback, defect)

defect

Tracking

()

Tracking Status
firefox-esr68 --- affected
firefox75 --- wontfix
firefox76 --- wontfix
firefox77 --- affected
firefox78 --- affected
firefox84 --- affected

People

(Reporter: pmenzel+bugzilla.mozilla.org, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0

Steps to reproduce:

Watching video on the Web with Nightly (MOZ_ENABLE_WAYLAND=1 MOZ_WEBRENDER=1 nightly) on an Intel Broadwell laptop.

$ lspci -nn -s 0:2
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 5500 [8086:1616] (rev 09)

Actual results:

Decoding warnings were shown on the terminal.

$ libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[Child 4979, MediaDecoderStateMachine #1] WARNING: Decoder=7f0447fb4000 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp, line 3370
[Child 4979, MediaDecoderStateMachine #1] WARNING: Decoder=7f0447fb4000 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp, line 3370
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[Child 4979, MediaDecoderStateMachine #1] WARNING: Decoder=7f0446655400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp, line 3370
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
Gdk-Message: 21:51:27.000: Unable to load openhand from the cursor theme
Gdk-Message: 21:51:27.000: Unable to load 5aca4d189052212118709018842178c0 from the cursor theme
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
Gdk-Message: 21:54:32.840: Unable to load split_h from the cursor theme
Gdk-Message: 21:54:32.941: Unable to load split_v from the cursor theme
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0

Expected results:

No decoding warnings should be shown, or more detail be given, so that the content provider or libva driver developers can be informed.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

this isn't a warning, it's a fatal decoding error.

I believe the decoding error/warning is unrelated to libva here. Is this still a concern? Edit: see comment 5.

Severity: normal → S4
Flags: needinfo?(pmenzel+bugzilla.mozilla.org)

Bryce, why shouldn’t the warnings/errors be a concern? Sorry, I am missing some background. Or is that an internal note, that it should be assigned to some other component?

Flags: needinfo?(pmenzel+bugzilla.mozilla.org)

(In reply to Paul Menzel from comment #4)

Bryce, why shouldn’t the warnings/errors be a concern? Sorry, I am missing some background. Or is that an internal note, that it should be assigned to some other component?

Expanding on comment 3, which in retrospect is a bit lacking.

The NS_ERROR_DOM_MEDIA_FATAL_ERR errors are the result of a detached manager which means that the MediaSourceBuffer has become detached. In that sense, it's an MSE problem. However, the MSE problem could stem from libav/the underlying decoder causing parts of MSE to fail. It may also stem from elsewhere.

We have more detailed logging available with MOZ_LOG, which may be useful to diagnose what's going on. We output these errors/warnings on fatal decode to give some context, but if the problem is non-trivial more involved logging may be needed. I appreciate the message is not particularly helpful if this is a VA-API issue, but depending on what is erroring it's not straight forward to get it out of the MSE machinery. In this case it would be helpful to indicate why the buffer became detached if it stemmed from an error.

Is it a specific video failing with VA-API being used, or all videos?

Are you looking to debug possible decode failures here?

I get this error on nightly archlinux / wayland / AMDGPU
webgpu, webrenderer, fission activated,

when watching youtube (playlist) and switching to the next video.

I'm currently seeing this with all YouTube videos (Nightly Gentoo which I've built myself with debug symbols enabled - Official Mozilla builds are also affected, / Wayland / AMD 5700XT).

I've confirmed that VAAPI is working correctly for other cases by opening a local .mp4 file in Firefox which played back correctly and with MOZ_LOG indicating that VAAPI was being used.

These are the fatal errors that were reported from running MOZ_ENABLE_WAYLAND=1 firefox --MOZ_LOG="PlatformDecoderModule:5":

[Child 7794, MediaDecoderStateMachine #1] WARNING: Decoder=7fd035efd400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /var/tmp/portage/www-client/firefox-99999999/work/firefox-99999999/dom/media/MediaDecoderStateMachine.cpp:3471
[Child 7794, MediaDecoderStateMachine #1] WARNING: Decoder=7fd035efd400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /var/tmp/portage/www-client/firefox-99999999/work/firefox-99999999/dom/media/MediaDecoderStateMachine.cpp:3471
[Child 7794, MediaDecoderStateMachine #1] WARNING: Decoder=7fd035efd400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /var/tmp/portage/www-client/firefox-99999999/work/firefox-99999999/dom/media/MediaDecoderStateMachine.cpp:3471

I wish I could be more helpful than this, I'll try changing different variables (different builds of Firefox, different mesa, different ffmpeg, different kernel, etc) to see if I can find out when this started happening or why this is happening.

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true

100% repeatability when trying open: https://www.youtube.com/watch?v=zfnnZKjxM5s
<code>$ firefox --version
Mozilla Firefox 115.8.0esr
</code>
Actual system with all updates RHEL9/Rocky Linux 9

$ dnf list installed |grep nvidia
dnf-plugin-nvidia.noarch 2.0-1.el9 @cuda-rhel9-x86_64
kmod-nvidia-latest-dkms.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-NVML.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-NvFBCOpenGL.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-cuda.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-cuda-libs.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-devel.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-driver-libs.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-kmod-common.noarch 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-libXNVCtrl.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-libXNVCtrl-devel.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-modprobe.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-persistenced.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-settings.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64
nvidia-xconfig.x86_64 3:550.54.14-1.el9 @cuda-rhel9-x86_64

$ lsmod |grep nvidia
nvidia_drm 131072 9
nvidia_modeset 1355776 11 nvidia_drm
nvidia_uvm 6696960 0
nvidia 54140928 214 nvidia_uvm,nvidia_modeset
video 73728 1 nvidia_modeset
drm_kms_helper 245760 1 nvidia_drm
drm 704512 13 drm_kms_helper,nvidia,nvidia_drm

LOGs:
[Child 16119, MediaDecoderStateMachine #1] WARNING: Decoder=7f53f0ce8300 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builddir/build/BUILD/firefox-115.8.0/dom/media/MediaDecoderStateMachineBase.cpp:164

Logs with option: MOZ_ENABLE_WAYLAND=1 firefox --MOZ_LOG="PlatformDecoderModule:5"
[Child 16918: MediaSupervisor #3]: D/PlatformDecoderModule Sandbox RDD decoder rejects requested type audio/mp4a-latm
[Child 16918: MediaSupervisor #3]: D/PlatformDecoderModule Sandbox Utility Generic decoder supports requested type audio/mp4a-latm
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/vp9
[Utility 17102: MediaSupervisor #1]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'audio/mp4a-latm'
[Utility 17102: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder rejects requested type 'audio/mp4a-latm'
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp9'
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp9'
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule FFVPX: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/vp9 Codec ID 167
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule FFVPX: Codec vp9 is not accelerated
[Child 16918: MediaSupervisor #1]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'audio/mp4a-latm'
[Child 16918: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder rejects requested type 'audio/mp4a-latm'
[Child 16918: RemVidChild]: D/PlatformDecoderModule RemoteMediaDataDecoder[7f978a0db510] ::RemoteMediaDataDecoder: 7f978a0db510 is created
[Child 16918, MediaDecoderStateMachine #1] WARNING: Decoder=7f9790f2a000 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builddir/build/BUILD/firefox-115.8.0/dom/media/MediaDecoderStateMachineBase.cpp:164
[RDD 17099: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Initialising FFmpeg decoder
[RDD 17099: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: codec vp9 : Google VP9
[RDD 17099: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Set get_buffer2 for customized buffer allocation
[RDD 17099: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: FFmpeg decoder init successful.
[Child 16918: RemVidChild]: D/PlatformDecoderModule RemoteMediaDataDecoder[7f978a0db510] ::operator(): 7f978a0db510 RemoteDecoderChild has been initialized - description: ffvpx video decoder (RDD remote), process: rdd, codec: vp9

[...]

[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: Main Thread]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: MediaPDecoder #4]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[Child 16918: MediaPDecoder #4]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/avc
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'video/avc'
[RDD 17099: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder rejects requested type 'video/avc'
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule Sandbox Utility Generic decoder rejects requested type video/avc
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'video/avc'
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule Agnostic decoder rejects requested type 'video/avc'
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule Sandbox Utility Generic decoder rejects requested type video/avc
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'video/avc'
[Child 16918: MediaPDecoder #2]: D/PlatformDecoderModule Agnostic decoder rejects requested type 'video/avc'

Flags: needinfo?(bartosz)

c.d.

I think so that main reason is there:
"Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: H264/AAC codecs unsupported without [
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: libavcodec.so.60
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.59
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.58
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec-ffmpeg.so.58
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec-ffmpeg.so.57
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec-ffmpeg.so.56
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.57
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.56
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.55
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.54
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: , libavcodec.so.53
[Child 14425: Main Thread]: D/PlatformDecoderModule FFMPEG: ]
[...]

I was go this road and get information that I don't have:
"libavcodec" codect.

Past install:
sudo dnf install ffmpeg
sudo dnf search libavcodec
sudo dnf install libavcodecXX
Probably resolve your problem.

I was install only "sudo dnf install libavcodec-free" and this video/audio working property in Firefox.
Maybe this help somebody.

Flags: needinfo?(bartosz)
You need to log in before you can comment on or make changes to this bug.