Closed Bug 1772085 Opened 3 years ago Closed 3 years ago

ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0} and Unsupported modifier

Categories

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

Firefox 101
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- wontfix
firefox103 --- wontfix
firefox104 --- wontfix
firefox105 --- wontfix
firefox106 --- wontfix
firefox107 --- wontfix
firefox108 --- wontfix
firefox109 --- wontfix
firefox110 --- wontfix
firefox111 --- fixed

People

(Reporter: o2q2tcedsh0, Assigned: kinetik)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Steps to reproduce:

When youtube.com is called, then an error message appears in the terminal. This happens with and without "MOZ_ENABLE_WAYLAND=1" on Debian Stable Gnome with Flatpak, Ubuntu 22.04 Snap and Fedora Gnome 36. The bug is also present in the latest version Firefox 101.0 (firefox-101.0.tar.bz2) unpacked and launched in /home.

If in about:config "media.mp4.enabled " is set to disabled, then the error no longer occurs and youtube plays the movies properly.

Actual results:

Terminal output(Fedora 36 - Firefox 101.0 (firefox-101.0.tar.bz2)):

Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed

###!!! [Parent][PImageBridgeParent] Error: RunMessage(msgname=PImageBridge::Msg_WillClose) Channel closing: too late to send/recv, messages will be lost

Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed
[2022-06-01T08:56:42Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-01T08:56:42Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-01T08:56:42Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-01T08:56:43Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[Child 6322, MediaDecoderStateMachine #1] WARNING: Decoder=7f7d6970f200 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:3587
[Child 6322, MediaDecoderStateMachine #1] WARNING: Decoder=7f7d55fa0c00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:3587
[Child 6322, MediaDecoderStateMachine #1] WARNING: Decoder=7f7d4edbd400 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:3587
[Child 6322, MediaDecoderStateMachine #1] WARNING: Decoder=7f7d4ff08d00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:3587
Unsupported modifier, resource creation failed.
XXX: resource creation failed
Unsupported modifier, resource creation failed.
XXX: resource creation failed

###!!! [Parent][PImageBridgeParent] Error: RunMessage(msgname=PImageBridge::Msg_WillClose) Channel closing: too late to send/recv, messages will be lost

Sandbox: Unexpected EOF, op 0 flags 00 path /proc/cpuinfo

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

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

It’s also happening with Nightly.

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)

With uBlock Origin I have seen that the error does not occur when inline scripts or youtube-ui.l.google.com are blocked. It may be possible to find the error via this. The error also occurs in Firefox 102 ESR with a new profile(without Addons like uBlock Origin), but the error does not occur with Firefox 91.11.0 ESR.

Site: https://www.youtube.com/
Firefox 102 ESR with MOZ_ENABLE_WAYLAND=1

[2022-06-27T10:05:10Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-27T10:05:10Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-27T10:05:13Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"
[2022-06-27T10:05:13Z ERROR mp4parse] Found 2 nul bytes in "\u{0}\u{0}"

Karl, do you have the time to take a look at this?

Flags: needinfo?(jmathies) → needinfo?(karlt)

Just came to report this is happening in nightly, was in 104, now in 105. I haven't tried turning off mp4, but that is basically telling youtube to use webm, isn't it? I haven't noticed that videos don't play, just that the decoding complains. Is this some kind of tracking or ad information or control being added to the video stream, but blocked by the browser? Just curious.

Forgot to add that if I get time, I'll try running mozregression on this in nightly to trace when it started, and if there is some change in firefox that precipitated its appearance.

I ran mozregression on this, and here is the result. It is from December of 2021.
0:03.35 INFO: No more integration revisions, bisection finished.
0:03.35 INFO: Last good revision: a7fd9cfcf1e9ffbddb594145add90b0a8c24418e
0:03.35 INFO: First bad revision: 4a17c3f49d0d2df846e0bd9017bd015dc54e1ba6
0:03.35 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=a7fd9cfcf1e9ffbddb594145add90b0a8c24418e&tochange=4a17c3f49d0d2df846e0bd9017bd015dc54e1ba6

Severity: -- → S4
Priority: -- → P3

I can reproduce "Found 2 nul bytes" but not "Unsupported modifier".

That error comes from https://searchfox.org/mozilla-central/diff/ffc22b2f8ad54fd1fdda1f5bdd09bf87d73a2054/third_party/rust/mp4parse/src/lib.rs#5173 reviewed at https://github.com/mozilla/mp4parse-rust/pull/355.

If the error is not important enough to act on then it can be downgraded to a log level that is not output by default.

ni?kinetik who may know more about the significance of this.

Flags: needinfo?(karlt) → needinfo?(kinetik)
Regressed by: 1745608

Set release status flags based on info from the regressing bug 1745608

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

Set release status flags based on info from the regressing bug 1745608

Despite being logged as an error, this is only treated as a fatal error in "strict" parsing mode - the default is "normal". The BMFF spec has since been clarified to permit multiple nul bytes, truncating the field at the first nul.

Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Flags: needinfo?(kinetik)
Attached file GitHub Pull Request

Relax hdlr box name field validation.

Duplicate of this bug: 1796164

Would that patch allow videos to play or it is due another problem? (See duplicated bug)

Flags: needinfo?(kinetik)

Hello,

I've just upgraded Ubuntu 22.04 to 22.10. Everything seems to work great except for Firefox. Infact this is what happens when I run it :

ziomario@Z390-AORUS-PRO-DEST:~/Scrivania$ firefox

[GFX1-]: More than 2 GPUs detected via PCI, secondary GPU is arbitrary

ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.

[2022-11-06T16:55:34Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-11-06T16:55:34Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-11-06T16:55:34Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-11-06T16:55:36Z ERROR mp4parse] Found 2 nul bytes in "\0\0"
[2022-11-06T18:10:17Z ERROR viaduct::backend::ffi] Missing HTTP status
[2022-11-06T18:10:17Z ERROR viaduct::backend::ffi] Missing HTTP status
[2022-11-06T18:10:17Z ERROR viaduct::backend::ffi] Missing HTTP status
[2022-11-06T18:10:17Z ERROR viaduct::backend::ffi] Missing HTTP status
[2022-11-06T18:10:17Z ERROR viaduct::backend::ffi] Missing HTTP status

The problem is that when I try to open any video on youtube,for example,I get only 5 times the error that you see above (Found 2 nul bytes in "\0\0"),and it freezes. I've tried to look for a solution on the web,but without success.

I am using the latest nightly, just updated. And I did not see this problem when playing youtube videos on a quick check. However, I was still seeing the 2 nul bytes message when playing videos, as shown below. They have never prevented me from playing videos. I wonder if https://bugzilla.mozilla.org/show_bug.cgi?id=1772085#c17 has the setting described in https://bugzilla.mozilla.org/show_bug.cgi?id=1772085#c13 set to strict.

2022-11-07T15:09:51Z ERROR mp4parse] Found 2 nul bytes in "\0\0"

I have installed ubuntu 22.10 from scratch with Firefox inside a VM and I've seen those errors,but the youtube videos plays great. At this point I think that the problem arised because I've upgraded ubuntu 22.04 to 22.10. Maybe some component breaks during the upgrade.

Yeah, I think this bug (and bug 1796164) are mixing two issues - playback not working and the mp4parse error message.

Apologies for the confusing error message but to clarify, the mp4parse error is not a fatal error and won't affect playback. The cause of playback issues is something else - looking back at the original comment on this bug, this log message suggests no decoder is available for AAC:

[Child 6322, MediaDecoderStateMachine #1] WARNING: Decoder=7f7d6970f200 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - Error no decoder found for audio/mp4a-latm: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp:3587

...which is likely due to an issue with ffmpeg on the host system.

Flags: needinfo?(kinetik)
No longer duplicate of this bug: 1796164

On my ubuntu 22.10 system the ffmpeg package results as already installed. Can you explain what should I do to fix the error ?

I've just realized that this bug does not affect only the youtube videos,but also any mp4 video that I want to see offline.

(In reply to marietto2008 from comment #21)

On my ubuntu 22.10 system the ffmpeg package results as already installed. Can you explain what should I do to fix the error ?

What versions of libavcodec and libavformat are installed? Can you please try collecting decoder logs following the instructions in bug 1796164 comment 4? Thanks!

Tested locally: a fresh Ubuntu 22.10 install with Firefox downloaded from the website fails to play MP4s, but after installing ffmpeg and restarting Firefox plays them correctly (even when it logs Found 2 nul bytes on some videos).

I have this same problem with MP4 videos when I upgraded to redhat 9.1 from redhat 9.0. Audio works great from command line players. Here is a clue maybe folks can validate for me -- if you mute the frozen video in firefox, it will start playing. When you unmute it, it freezes again. I'm not a developer, so I dont have a solution. Here is another clue -- I installed chrome to see if the bug happened there as well and it behaves the same as firefox. This leads me to think it is some wierd codec playback issue within both browsers that doesn't exist console mp4 players like VLC. My guess is it's HTML5 related, but again, I am not a developer so it is in fact a guess. I also tried downgrading the libavcodec package to the one on rpmfusion and then changed the LD_LIBRARY_PATH so it would hit that first, but that didn't help.

Hello.

I've just upgraded Ubuntu from 22.04 to 22.10 some days ago. I'm experimenting some troubles by watching any online video stream and any mp4 videos saved on my PC. Basically they don't flow. To make them flow I should press the play button again and again and again and everytime I press it,only a small portion of the video go on. In addition,no audio output device work on my PC. After having exposed the problem in several places,I've found the reason because a nice reddit user gave to me a suggestion. He says that the cause of the problem is pipewire-media-session and that I should change it with wireplumber. This is what I tried to do. I've got the proof and the counter-proof that his suggestion is good. The commands that I should issue to fix the problems are the following :

$ systemctl --user unmask pulseaudio

$ systemctl --user --now disable pipewire-media-session.service

$ systemctl --user --now disable pipewire pipewire-pulse

$ systemctl --user --now enable pulseaudio.service pulseaudio.socket

sudo apt remove pipewire-audio-client-libraries pipewire

I suppose that those commands enable pulseaudio and remove pipewire. Infact the problems that I've explained above, go away. Instead,when I try to enable pipewire + wireplumber issuing the following commands the problems come back :

$ sudo apt install libldacbt-{abr,enc}2

$ sudo apt install libspa-0.2-bluetooth pipewire-audio-client-libraries pipewire-media-session- wireplumber

$ systemctl --user --now enable wireplumber.service

$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

$ sudo apt remove pulseaudio-module-bluetooth

Its now clear that some elements of pipewire does not work correctly on Ubuntu 22.10,in some situation. I could still use PulseAudio,but I want to understand how to fix the problems pipewire is affected by.

In addition I've booted ubuntu budgie as virtual machine within bhyve and sound worked. So,my hardware is compatible with pipewire. At this point pipewire could not work in ubuntu 22.10 because some bug. (take in consideration that it works with ubuntu 22.04).

See Also: → 1813464
See Also: → 1813405
Depends on: 1810613

The error message produced by mp4parse (Found 2 nul bytes) has now been fixed via an update landing in bug 1810613, so I'll mark this as fixed. If any contributors to this bug are still experiencing MP4 playback issues with a current Firefox Nightly (v111), please file a new bug.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: