Closed Bug 1244292 Opened 7 years ago Closed 7 years ago

crash in java.util.concurrent.TimeoutException: timed out after 10 seconds at Method)


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

45 Branch
Not set


(firefox45 fixed, firefox46 fixed, firefox47 fixed)

Firefox 47
Tracking Status
firefox45 --- fixed
firefox46 --- fixed
firefox47 --- fixed


(Reporter: snorp, Assigned: esawin)


(Keywords: crash)

Crash Data


(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is 
report bp-28981f3c-f3da-4513-85f3-6061a2160129.

Most of these seem to be on rockchip boards, though not all of them.
This would be triggered if the process is sent to sleep during a GC sweep.

The increased report frequency of this could indicate that we are forcing GC due to high memory usage (maybe related to bug 1216460) combined with the fact that users specifically choose Fennec to play media in background as that use case if often restricted by other apps.

It could also indicate that we're not setting wake locks properly, but that doesn't seem to be the case (sadly none of the crash comments does mention the site or media used).

I will try to reproduce this on a low-end device.
Some of the stack traces show a high amount of active decoders during the crash. This could indicate another issue with bugged platform support for multiple decoders (see bug 1214710).
This is now the #1 crash on 45b3, so let's definitely get this figured out.
This is reproducing on Samsung GT-I9300 when playing many videos (MP4/H.264, ~4-8) simultaneously.
Restricting the number of allowed decoders would prevent the failures, but might break some use cases.
This issue is different to bug 1214710, in this case we fail during decoder initialization (ResetInputBuffers), in which case we don't shutdown the decoder properly.

We can avoid the crashing by shutting down the decoder on init failure (this patch), but media playback would still fail and I don't see anything we can do on our side to help with that.

We would still need to limit the number of active decoders in this case, too.
Attachment #8717544 - Flags: review?(snorp)
Comment on attachment 8717544 [details] [diff] [review]

Review of attachment 8717544 [details] [diff] [review]:

::: dom/media/platforms/android/AndroidDecoderModule.cpp
@@ +759,4 @@
> +  if (mDecoder) {
> +    mDecoder->Stop();
> +    mDecoder->Release();

probably should set mDecoder to nullptr here, right?
Attachment #8717544 - Flags: review?(snorp) → review+
Addressed comment.
Attachment #8717544 - Attachment is obsolete: true
Attachment #8717587 - Flags: review+
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 47
Comment on attachment 8717587 [details] [diff] [review]

Approval Request Comment
[Feature/regressing bug #]: media playback on specific (popular) devices
[User impact if declined]: crash on failed playback initialization (#2 crasher on beta)
[Describe test coverage new/current, TreeHerder]: local testing, on Nightly for a few days
[Risks and why]: low, minimal code change, fixes shutdown in case of failed decoder initialization 
[String/UUID change made/needed]: none
Attachment #8717587 - Flags: approval-mozilla-beta?
Attachment #8717587 - Flags: approval-mozilla-aurora?
Comment on attachment 8717587 [details] [diff] [review]

Fix for android crash, please uplift to aurora and beta.
Attachment #8717587 - Flags: approval-mozilla-beta?
Attachment #8717587 - Flags: approval-mozilla-beta+
Attachment #8717587 - Flags: approval-mozilla-aurora?
Attachment #8717587 - Flags: approval-mozilla-aurora+
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.