Closed Bug 1189869 Opened 9 years ago Closed 9 years ago

SoundCloud is not able to play the track

Categories

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

39 Branch
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: yugiohjcj, Unassigned)

References

Details

(Keywords: regression, Whiteboard: [bugday-20150803] [regressed by bug 1080995])

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0
Build ID: 20150731145413

Steps to reproduce:

I go to SoundCloud and I play a track


Actual results:

The track has not be played


Expected results:

The track should be played
Version: 31 Branch → 39 Branch
No problem on Firefox 31.0, the problem happens on Firefox 39.0.
Firefox 38.0 has the same problem but Firefox 37.0 has not this problem (tested with the official binaries on Slackware 14.1).
So, it is probably something new in Firefox 38.0 that could be the cause of this bug.
Could you test with the build compiled by Mozilla, please.
https://www.mozilla.org/en-US/firefox/all/
Flags: needinfo?(yugiohjcj)
Sorry, when I say "tested with the official binaries on Slackware 14.1" I mean the official binaries provided by Mozilla.
To be exact these binaries:
- http://ftp.mozilla.org/pub/firefox/releases/37.0/linux-i686/en-US/firefox-37.0.tar.bz2
- http://ftp.mozilla.org/pub/firefox/releases/38.0/linux-i686/en-US/firefox-38.0.tar.bz2
Flags: needinfo?(yugiohjcj)
Ok, so maybe there is a regression in Firefox 38.

Could you install the tool mozregression to find a regression range, please.
See http://mozilla.github.io/mozregression/ for details.
Just run "mozregression --good-release 37" and copy the pushlog you get in the console output (no need to bisect).

If mozreg doesn't work on your distro, you can download the nightly builds manually from the Mozilla FTP (I believe you know it), in each mozilla-central directory, there is a build for Linux.
FF37 nightlies started in January 2015: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/01/
Flags: needinfo?(yugiohjcj)
I don't understand your instructions.
What tarball I need to download to get the "mozregression" tool please?
Flags: needinfo?(yugiohjcj)
All is explained here: http://mozilla.github.io/mozregression/install.html
See the section about the command line tool, you need to install  python 2.7 if it's not already the case (sudo apt-get install python-pip) then you install mozreg (sudo pip install -U mozregression).
Flags: needinfo?(yugiohjcj)
Whiteboard: [bugday-20150803]
OK, done!
Here is the pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=6441783352b4&tochange=8c716f35d9ec
Flags: needinfo?(yugiohjcj)
Luckily that window has the only one cset. Unluckily the bug it references is hidden from the public.

8c716f35d9ec	Ralph Giles — Bug 1080995 - Don't use the h264parser gstreamer element. r=kinetik
Component: Untriaged → Audio/Video
Flags: needinfo?(giles)
Product: Firefox → Core
The gstreamer element h264parse has been blacklisted due to the security bug below. The blacklisting has been reversed in distro builds that include this fix.

gst-plugins-bad0.10 (0.10.22.3-2ubuntu2.3) precise-security; urgency=medium

  * SECURITY UPDATE: denial of service and possible code execution via
    incorrect nal size
    - debian/patches/CVE-2015-0797.patch: check nal size in
      gst/videoparsers/gsth264parse.c.
    - CVE-2015-0797
 -- Marc Deslauriers <email address hidden>   Wed, 15 Apr 2015 11:44:46 -0400
I confirm that this is the blacklisting of the gstreamer element h264parse that makes Firefox 39.0 not able to play the track on SoundCloud.
Indeed, I have patched the Firefox 39.0 source code then it is now able to play the track.
This patch just removes the blacklisting.
I think it is not safe to apply my patch (from a security point of view) but as I need to play tracks on SoundCloud, that is a workaround that I accept to use.
If you have better suggestions, please give me them.
Whiteboard: [bugday-20150803] → [bugday-20150803] [regressed by bug 1080995]
Also experiencing this in 40 Build ID 20150807085045
Because I seem to have a fixed gstreamer version but Firefox still seems to apply this blacklist, I filed a bug that this should not be happening (in general): https://bugzilla.mozilla.org/show_bug.cgi?id=1194875 It would really be nice if multimedia components could either be blocked in a way that actually checks whether the version is known to be vulnerable, or at least allows an override _without patching and rebuilding the entire browser_.
(In reply to Jonas Thiem from comment #14)
> Because I seem to have a fixed gstreamer version but Firefox still seems to
> apply this blacklist, I filed a bug that this should not be happening (in
> general): https://bugzilla.mozilla.org/show_bug.cgi?id=1194875 It would
> really be nice if multimedia components could either be blocked in a way
> that actually checks whether the version is known to be vulnerable, or at
> least allows an override _without patching and rebuilding the entire
> browser_.

Use your distro version of Firefox.
So your official stance on this that I cannot use the official firefox version?

I prefer nightly for a couple of reasons, mainly because stable without electrolysis is unbearably sluggish.

I can use chromium instead to get a snappy browser after all, but I would prefer not to. Isn't there a better way that doesn't screw over people with the official build instead of the distro versions?
This sounds like a duplicate of bug 1177363, where we applied a change enquivalent to the second hunk of your patch. This is in current nightly builds and would become part of Firefox 42 on release.

It would be great if you could check whether that change resolves your issue with soundcloud.
Flags: needinfo?(giles)
(In reply to Jonas Thiem from comment #14)
> It would
> really be nice if multimedia components could either be blocked in a way
> that actually checks whether the version is known to be vulnerable,

Yes. I tried to do a version-specific block, but had re-entrancy problems checking the version inside the autoplug filter and couldn't get it to work.

> or at
> least allows an override _without patching and rebuilding the entire
> browser_.

There's an undocumented pref "media.gstreamer.enable-blacklist" which, when set to false, bypasses the check for vulnerable gstreamer elements. It is of course not safe to set this either since it disables all checks, not just the h264parse issue which is patched in some gstreamer distros. https://dxr.mozilla.org/mozilla-central/source/dom/media/gstreamer/GStreamerFormatHelper.cpp#217
Still not working with latest Nightly.
Component: Audio/Video → Audio/Video: Playback
gstreamer is going in bug 1234092
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: