Closed Bug 785340 Opened 12 years ago Closed 12 years ago

crash in OmxDecoder::ReadAudio

Categories

(Core :: Audio/Video, defect)

17 Branch
ARM
Android
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla18
Tracking Status
firefox16 --- unaffected
firefox17 --- fixed
firefox18 --- fixed

People

(Reporter: scoobidiver, Assigned: cpeterson)

References

()

Details

(Keywords: crash, regression, reproducible, Whiteboard: [native-crash], [hwdecoder])

Crash Data

Attachments

(2 files)

It first appeared in 17.0a1/20120822. The regression window is: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=360ab7771e27&tochange=abc17059522b It's likely a regression from bug 782508. Signature OmxDecoder::ReadAudio More Reports Search UUID 15cd43eb-7591-435a-a273-3b7f22120823 Date Processed 2012-08-23 02:31:09 Uptime 535 Last Crash 16.6 minutes before submission Install Age 12.2 hours since version was first installed. Install Time 2012-08-22 14:17:03 Product FennecAndroid Version 17.0a1 Build ID 20120822030558 Release Channel nightly OS Linux OS Version 0.0.0 Linux 2.6.39.4-gc9932b1 #1 SMP PREEMPT Thu May 10 00:22:08 CST 2012 armv7l Build Architecture arm Build Architecture Info Crash Reason SIGSEGV Crash Address 0x0 App Notes AdapterDescription: 'NVIDIA Corporation -- NVIDIA Tegra 3 -- OpenGL ES 2.0 14.01002 -- Model: HTC One X, Product: endeavoru, Manufacturer: HTC, Hardware: endeavoru' EGL? EGL+ GL Context? GL Context+ GL Layers? GL Layers+ HTC HTC One X htc_europe/endeavoru/endeavoru:4.0.3/IML74K/62864.11:user/release-keys EMCheckCompatibility True Adapter Vendor ID NVIDIA Corporation Adapter Device ID NVIDIA Tegra 3 Frame Module Signature Source 0 libomxplugin.so OmxDecoder::ReadAudio OmxPlugin.cpp:566 1 libomxplugin.so ReadAudio OmxPlugin.cpp:626 2 libxul.so nsMediaPluginReader::DecodeAudioData nsMediaPluginReader.cpp:253 3 libxul.so nsBuiltinDecoderReader::FindStartTime nsBuiltinDecoderReader.cpp:324 4 libxul.so nsBuiltinDecoderStateMachine::FindStartTime nsBuiltinDecoderStateMachine.cpp:2380 5 libxul.so nsBuiltinDecoderStateMachine::DecodeMetadata nsBuiltinDecoderStateMachine.cpp:1776 6 libxul.so nsBuiltinDecoderStateMachine::DecodeThreadRun nsBuiltinDecoderStateMachine.cpp:477 7 libxul.so nsRunnableMethodImpl<void , true>::Run nsThreadUtils.h:349 8 libxul.so nsThread::ProcessNextEvent nsThread.cpp:624 9 libxul.so NS_ProcessNextEvent_P nsThreadUtils.cpp:220 10 libxul.so nsThread::ThreadFunc nsThread.cpp:257 11 libnspr4.so _pt_root nsprpub/pr/src/pthreads/ptthread.c:156 12 libc.so libc.so@0x1319e 13 libc.so libc.so@0x12cd6 More reports at: https://crash-stats.mozilla.com/report/list?signature=OmxDecoder%3A%3AReadAudio
OmxDecoder::ReadAudio() is crashing on a null mAudioSource here: err = mAudioSource->read(&mAudioBuffer);
Blocks: 787227
Whiteboard: [native-crash] → [native-crash], [hwdecoder]
100% reproducible for me when loading objet.com on my galaxy tab 10.1 running ICS.
Keywords: reproducible
Per crashkill today, this is not quite a mobile topcrash but looks reproducible and is probably low-hanging fruit. cpeterson or cdouble, can one of you take this?
I can repro this crash using joedrew's STR in comment 2.
Assignee: nobody → cpeterson
Status: NEW → ASSIGNED
This crash is not specifically about audio decoding. The video decoder reports an error about the video and we crash when trying to unload the video as the audio decoder is still initializing.
Part 1: Fix crash where uninitialized nsMediaPluginReader::mHasAudio looked true. Also fix a typo and initialize bool mEndOfStream to false, not 0.
Attachment #662371 - Flags: review?(chris.double)
Part 2: OmxDecoder::ReadVideo() should fail if mVideoSource->read() fails. These patches fix this audio crash, BUT uncover a bug where our decoder never stops retrying the failed video.
Attachment #662372 - Flags: review?(chris.double)
Attachment #662371 - Flags: review?(chris.double) → review+
Attachment #662372 - Flags: review?(chris.double) → review+
Comment on attachment 662371 [details] [diff] [review] part-1-initialize-mHasAudio-false.patch [Approval Request Comment] Bug caused by (feature/regressing bug #): Bug 782508 in 18 and 17. 16 is unaffected. User impact if declined: Android video crashes Testing completed (on m-c, etc.): Local testing with 100% STR Risk to taking this patch (and alternatives if risky): Low risk because we're just initializing some boolean flags to false instead of garbage non-false value. String or UUID changes made by this patch: N/A
Attachment #662371 - Flags: approval-mozilla-aurora?
Comment on attachment 662372 [details] [diff] [review] part-2-fail-if-read-fails.patch [Approval Request Comment] Bug caused by (feature/regressing bug #): Bug 782508 in 18 and 17. 16 is unaffected. User impact if declined: Android video crashes Testing completed (on m-c, etc.): Local testing with 100% STR Risk to taking this patch (and alternatives if risky): Low risk. Playing some invalid videos may cause lots of error messages to be logged (but we want to find and fix those). String or UUID changes made by this patch: N/A
Attachment #662372 - Flags: approval-mozilla-aurora?
Comment on attachment 662371 [details] [diff] [review] part-1-initialize-mHasAudio-false.patch [Triage Comment] Still early enough in the cycle to take a low risk fix for a reproducible crash.
Attachment #662371 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #662372 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: