Closed Bug 1172359 Opened 9 years ago Closed 9 years ago

(Android) WebRTC crashes when microphone is enabled

Categories

(Firefox for Android Graveyard :: Audio/Video, defect)

38 Branch
ARM
Android
defect
Not set
normal

Tracking

(fennec-)

RESOLVED WONTFIX
Tracking Status
fennec - ---

People

(Reporter: kolAflash, Assigned: rbarker)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 2015051400

Steps to reproduce:

Initiate a Firefox Hello Audio/Video session with Firefox on a desktop PC (I'm using Firefox 38 on Linux).

Then copy the invitation link to your Android device and open in Firefox for Android.

After clicking the blue button in the middle (in German it says "Gespräch beitreten"), Firefox will ask you which camera and which microphone you want to use.

On my Android device (Samsung Galaxy S4 Mini/i9195 running Cyanogenmod 11), I can choose between the back and front camera or no camera and between "Microphone 1" or no microphone.


Actual results:

If I choose "Microphone 1", Firefox will crash completely immediately and ask if I want to send error data to Mozilla. (already did so once)

If I choose no microphone, the rest is working fine. I can see the video from my Android device on my PC and also the video from my PC on my Android device. I can also hear audio transmitted from my PC on my Android device.
Please provide a crash ID by typing about:crashes in the address bar.
Via email https://crash-stats.mozilla.com/report/index/0db1bd44-565e-4682-ab81-279bd2150607

Crash points to a CM library. GCP is this something we can deal with or is it a CM issue?
Flags: needinfo?(gpascutto)
OS: Unspecified → Android
Hardware: Unspecified → ARM
OpenSLES Destroy has been buggy in several Android releases. This sounds suspiciously like https://code.google.com/p/android/issues/detail?id=70904 which may not be in the Cyanogenmod release.

Last time we had an issue like this we blacklisted OpenSLES entirely for those devices. We can do this here if this is a common crash.

But yes basically your audio drivers are broken, crashing, and taking us down with it.
Flags: needinfo?(gpascutto)
... Android is really not the best Linux... also CyanogenMod doesn't really support maintenance releases. My only chance is probably, to update to CyanogenMod 12 or 12.1, which are currently still quite buggy.
And for other devices (like Samsung Galaxy S2 / i9100) there isn't any newer CyanogenMod at all, then version 11.


Is there a way for me to workaround this bug?

E.g. disabling OpenSLES in "about:config"?
>And for other devices (like Samsung Galaxy S2 / i9100) there isn't any newer CyanogenMod at all, then version 11.

They may not have the buggy driver, though.

>Is there a way for me to workaround this bug? E.g. disabling OpenSLES in "about:config"?

I don't think so. I do think being able to select the backend (and the audio device) is something that we should expose better, IIRC it could be useful for supporting Bluetooth headsets better as well.
Summary: (Android) Firefox Hello crashes when microphone is enabled → (Android) WebRTC crashes when microphone is enabled
tracking-fennec: --- → ?
Assignee: nobody → rbarker
tracking-fennec: ? → 42+
I am not sure we really want to spend time on this given that it only seems to happen on CM.
tracking-fennec: 42+ → ?
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #6)
> I am not sure we really want to spend time on this given that it only seems
> to happen on CM.

I'm not sure this is a good argument. Especially people who replace their pre-installed smartphone os with Cyanogenmod are probably also the ones, which care most about which browser they use. And if they're happy with Firefox on Android they tend to spread the word.
phones ship with CM now, its important
tracking-fennec: ? → 42+
Flags: needinfo?(snorp)
(In reply to Brad Lassey [:blassey] (use needinfo?) from comment #8)
> phones ship with CM now, its important

But it doesn't ship on *this* phone...
Flags: needinfo?(snorp)
This only reproduces on the one device, so I don't think we need to track it...
tracking-fennec: 42+ → ?
Good news, the current Cyanogenmod 11 release (and probably also 12 and 12.1) fixed the issue on my "Samsung Galaxy S4 Mini - i9195".
"Hello" is now working absolutely fine!

cm-11-20150901-SNAPSHOT-XNG3CAO3G1-serranoltexx.zip

https://download.cyanogenmod.org/?type=snapshot&device=serranoltexx

Nevertheless, shouldn't there be something in the Firefox code to catch a bug like this and keep Firefox from crashing completely, including all other tabs?
(In reply to kolAflash from comment #11)
> Nevertheless, shouldn't there be something in the Firefox code to catch a
> bug like this and keep Firefox from crashing completely, including all other
> tabs?

Yes. As you can imagine, it's hard, but we're working on it.
Status: UNCONFIRMED → RESOLVED
tracking-fennec: ? → -
Closed: 9 years ago
Resolution: --- → WONTFIX
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.