Closed Bug 1353459 Opened 7 years ago Closed 7 years ago

Crash in java.lang.NullPointerException: at org.mozilla.gecko.media.CodecProxy.input(CodecProxy.java)

Categories

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

Unspecified
Android
defect

Tracking

(firefox52 unaffected, firefox-esr52 unaffected, firefox53 wontfix, firefox54 fixed, firefox55 fixed)

RESOLVED FIXED
Firefox 55
Tracking Status
firefox52 --- unaffected
firefox-esr52 --- unaffected
firefox53 --- wontfix
firefox54 --- fixed
firefox55 --- fixed

People

(Reporter: snorp, Assigned: jhlin)

References

()

Details

(Keywords: crash)

Crash Data

Attachments

(2 files, 1 obsolete file)

I get this crash when trying to run Ski Safari in Fennec. The following log message appears many times as the game starts:

04-04 13:14:49.972 30178 30753 E GeckoRemoteCodec: Callbacks is dead
04-04 13:14:49.974 30178 30753 W System.err: android.media.MediaCodec$CodecException: Error 0xfffffff3
04-04 13:14:49.975 30178 30753 W System.err: 	at android.media.MediaCodec.releaseOutputBuffer(Native Method)
04-04 13:14:49.975 30178 30753 W System.err: 	at android.media.MediaCodec.releaseOutputBuffer(MediaCodec.java:2615)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.JellyBeanAsyncCodec.releaseOutputBuffer(JellyBeanAsyncCodec.java:395)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec$OutputProcessor.reset(Codec.java:274)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec$OutputProcessor.stop(Codec.java:295)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec$OutputProcessor.access$1300(Codec.java:191)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.releaseCodec(Codec.java:395)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.release(Codec.java:517)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.binderDied(Codec.java:318)
04-04 13:14:49.975 30178 30753 W System.err: 	at android.os.BinderProxy.sendDeathNotice(Binder.java:688)
04-04 13:14:49.975 30178 30753 W System.err: android.os.DeadObjectException
04-04 13:14:49.975 30178 30753 W System.err: 	at android.os.BinderProxy.transactNative(Native Method)
04-04 13:14:49.975 30178 30753 W System.err: 	at android.os.BinderProxy.transact(Binder.java:615)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.ICodecCallbacks$Stub$Proxy.onError(ICodecCallbacks.java:156)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.reportError(Codec.java:445)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.releaseCodec(Codec.java:399)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.release(Codec.java:517)
04-04 13:14:49.975 30178 30753 W System.err: 	at org.mozilla.gecko.media.Codec.binderDied(Codec.java:318)
04-04 13:14:49.975 30178 30753 W System.err: 	at android.os.BinderProxy.sendDeathNotice(Binder.java:688)

My gut feeling is that it is quickly creating and destroying decoders (via <audio>?) and there is some lifecycle issue with the OOP stuff.

This bug is marked internal only because I'm not sure if we're allowed to share the game outside of Mozilla.

This bug was filed from the Socorro interface and is 
report bp-1ee36374-45d2-4fff-b8f4-5490f2170404.
=============================================================
Andre has verified this URL is public.
Group: mozilla-employee-confidential
Blake, John, can you take a look at this?
Flags: needinfo?(jolin)
Flags: needinfo?(bwu)
I can repro this bug on my Pixel easily by visiting the URL.
There seems 2 issues:
1. Exceptions raised in Codec.queueInput() are not handled.
2. RemoteDataDecoder::Error() has no effect when there is no pending promise.
Assignee: nobody → jolin
Flags: needinfo?(jolin)
Flags: needinfo?(bwu)
Priority: -- → P1
Comment on attachment 8857392 [details]
Bug 1353459 - handle queueInputBuffer exceptions.

https://reviewboard.mozilla.org/r/129388/#review132698
Attachment #8857392 - Flags: review?(esawin) → review+
Pushed by jolin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/202eda8e82ce
handle queueInputBuffer exceptions. r=esawin
https://hg.mozilla.org/mozilla-central/rev/202eda8e82ce
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
AFAICT, this goes back to 53 or so. Looks like we could use an Aurora approval here for 54?
Comment on attachment 8857392 [details]
Bug 1353459 - handle queueInputBuffer exceptions.

Approval Request Comment
[Feature/Bug causing the regression]:bug 1257777
[User impact if declined]: browser crash when system out of shared memory
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: yes. Link to the URL in the bug and see if it crash the browser
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: no
[Why is the change risky/not risky?]: it catches more exceptions
[String changes made/needed]: none
Flags: needinfo?(jolin)
Attachment #8857392 - Flags: approval-mozilla-aurora?
Comment on attachment 8857392 [details]
Bug 1353459 - handle queueInputBuffer exceptions.

Fix a crash. Aurora54+.
Attachment #8857392 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Hi, backed out of aurora because of failurs like https://treeherder.mozilla.org/logviewer.html#?job_id=92262250&repo=mozilla-aurora
Flags: needinfo?(jolin)
Attached patch Patch for 54 (obsolete) — Splinter Review
Sorry for the inconvenience. Please uplift this patch instead. Thanks a lot.
Flags: needinfo?(jolin)
Attached patch Patch for 54Splinter Review
The correct patch for 54.
Attachment #8859086 - Attachment is obsolete: true
Iris, 
It is great to have your help here!
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: