Closed Bug 1169505 Opened 10 years ago Closed 10 years ago

[Aries] Playing mov files will crash aries

Categories

(Firefox OS Graveyard :: GonkIntegration, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.5+, b2g-v2.5 verified, b2g-master verified)

VERIFIED FIXED
2.2 S14 (12june)
blocking-b2g 2.5+
Tracking Status
b2g-v2.5 --- verified
b2g-master --- verified

People

(Reporter: nhirata, Assigned: sotaro)

Details

(Whiteboard: [spark])

Crash Data

Attachments

(2 files)

1. download build from : https://tools.taskcluster.net/task-inspector/#xRVy3KtOQdKKP1gu0quJIw/0 2. go to : http://people.mozilla.org/~nhirata/html_tp/ in the browser app 3. click on trailer_480p.mov (down at the bottom) https://crash-stats.mozilla.com/report/index/29e46459-a2c3-427e-8a8d-ffdb52150529 Frame Module Signature Source 0 libmmparser.so _ZN7android10SourcePort16GetContentLengthEPx 1 libmmparser.so _ZN9Mpeg4FileC2EPN5video11iStreamPortEbbb20FileSourceFileFormat 2 libmmparser.so _ZN15Mp4FragmentFileC1EPN5video11iStreamPortEbbb20FileSourceFileFormat 3 libmmparser.so _ZN8FileBase16initFormatParserEPN5video11iStreamPortEbbbb20FileSourceFileFormat 4 libmmparser.so _ZN8FileBase13openMediaFileEPN5video11iStreamPortEbbbb20FileSourceFileFormat 5 libmmparser.so _ZN16FileSourceHelper18OpenFileStreamPortEv 6 libmmparser.so _ZN16FileSourceHelper21HandleOpenFileCommandEv 7 libmmparser.so _ZN16FileSourceHelper12SourceThreadEv 8 libmmparser.so _ZN16FileSourceHelper17SourceThreadEntryEPv 9 libc.so __thread_entry /home/worker/workspace/B2G/bionic/libc/bionic/pthread_create.cpp:105 10 libc.so pthread_create /home/worker/workspace/B2G/bionic/libc/bionic/pthread_create.cpp:224 Note : probably related to bug 1142942
[Blocking Requested - why for this release]: need fix for stability; concern that there might be a way to crash on FTU even though the animation at the beginning seem ok...
blocking-b2g: --- → spark?
Flags: needinfo?(drs)
Flags: needinfo?(bwu)
Whiteboard: [spark]
Crash Signature: [@ _ZN7android10SourcePort16GetContentLengthEPx ]
Does this repro on Flame?
Keywords: qawanted
Sotaro, do we need to explicitly enable mov files on the Gonk layer?
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Doug Sherk (:drs) (use needinfo?) from comment #2) > Does this repro on Flame? On flame-kk, the mov file did not playback. UI just showed "video can't be played---".
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Doug Sherk (:drs) (use needinfo?) from comment #3) > Sotaro, do we need to explicitly enable mov files on the Gonk layer? IIRC, stagefright does not support QuickTime Movie (.mov). That seem the reason why libmmparser.so do the job for the mov file. libmmparser.so is not part of default stagefright.
FYI: QuickTime Movie (.mov) is very similar to mp4 format. Therefore, mp4 parser could add support of mov with some modification.
QA Contact: ktucker
No crash occurred but the user is prompted that the video file is corrupt on Flame 3.0 Device: Flame 3.0 (Full Flash)(KK)(319mb) BuildID: 20150603010205 Gaia: 9b7ed13e0dee26b9f16ae5fbc076fa8bd588b256 Gecko: b0a507af2b4a Gonk: 040bb1e9ac8a5b6dd756fdd696aa37a8868b5c67 Version: 41.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0
QA Whiteboard: [QAnalyst-Triage+]
Keywords: qawanted
Same thing with Flame 2.2 the user is prompted that the video file is corrupt but no crash occurs. Device: Flame 2.2(Full Flash)(KK)(319mb) BuildID: 20150603002503 Gaia: a9aeb08263f1a727136e8ae78425e52431c82770 Gecko: 5b3f1796ddf6 Gonk: bd9cb3af2a0354577a6903917bc826489050b40d Version: 37.0 (2.2) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Sotaro, do you know why we're not getting the error message on Aries?
blocking-b2g: spark? → spark+
Flags: needinfo?(drs) → needinfo?(sotaro.ikeda.g)
From the crash log in Comment 0, Aries seemed to crashe during MediaExtractor creation. MediaExtractor is a parser. Thread 29's stack dump shows it. The following is a related code. https://github.com/mozilla-b2g/platform_frameworks_av/blob/shinano/media/libstagefright/ExtendedUtils.cpp#L360 The crashed threas seems to be crated from Thread 29 and Thread 29 seems waiting the result. ExtendedUtils::MediaExtractor_CreateIfNeeded() is a function to replace the extractor with codeaurora extended Extractor if necessary.
Flags: needinfo?(sotaro.ikeda.g)
Thanks for the analysis. Sorry to keep bugging you, but I have no expertise in this area. Do you know who can work on this to fix it?
Flags: needinfo?(sotaro.ikeda.g)
On flame device, ExtendedUtils::MediaExtractor_CreateIfNeeded() was passed without error. Then default stagefright's MPEG4Extractor was chosen for parsing. But it failed to find a track then failed to playback.
(In reply to Doug Sherk (:drs) (use needinfo?) from comment #11) > Thanks for the analysis. Sorry to keep bugging you, but I have no expertise > in this area. Do you know who can work on this to fix it? It depends on how to fix. The crash seems to be caused by binary compatibility of libmmparser.so with moz build binary. We do not have a way to update libmmparser.so. Therefore to prevent to use libmmparser.so seems a way to go. There is 2 ways to disable it. - [1] Remove libExtendedExtractor.so from ROM. IIRC, it is loaded only from ExtendedExtractor and the code permit non-existance. > https://github.com/mozilla-b2g/platform_frameworks_av/blob/shinano/media/libstagefright/ExtendedExtractor.cpp#L50 - [2] modify ExtendedExtractor not to load libExtendedExtractor.so. I am not sure if Aries uses moz built stagefright library. If [1] is OK, it is simplest fix. It is better to as to mwu.
Flags: needinfo?(sotaro.ikeda.g)
mwu, to fix the problem, [1] and [2] are current candidate fix. Is [1] OK for you?
Flags: needinfo?(mwu)
By the way, we do not need the codeaurora extended MediaExtractor for our Firefox OS use cases.
[1] is fine to me. Please request review from :gerard-majax if you post a fix.
Flags: needinfo?(mwu)
Assignee: nobody → sotaro.ikeda.g
Confirmed the fix on Z3C.
Attached file Shinano common PR
Attachment #8617423 - Flags: review?(lissyx+mozillians)
Comment on attachment 8617423 [details] [review] Shinano common PR Thanks!
Attachment #8617423 - Flags: review?(lissyx+mozillians) → review+
:gerard-majax, can you merge the PR? I seems not have a write access to the repository. Thanks.
Flags: needinfo?(lissyx+mozillians)
Flags: needinfo?(lissyx+mozillians)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Sotaro has fixed this bug. :)
Flags: needinfo?(bwu)
blocking-b2g: spark+ → 2.5+
Target Milestone: --- → 2.2 S14 (12june)
Confirmed that crash no longer occurs on Aries master and 2.5. The video still won't play though, as mentioned in comment 7. We're now matching the behavior with Flame. Device: Aries 2.6 Master BuildID: 20151113123209 Gaia: e8c15ae4e5324a210000ee0a869a962aa542009f Gecko: faf815a0fa9b052a38bce00c0c2aa1e2c9610936 Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56 Version: 45.0a1 (2.6) Firmware Version: D5803_23.1.A.1.28_NCB.ftf User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 Device: Aries 2.5 BuildID: 20151113084848 Gaia: 142a25e39196f036978e0dd6c94640bd8d4d692a Gecko: 2ed226048f70df93060f5cbb26dba6d6b09538fb Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56 Version: 44.0a2 (2.5) Firmware Version: D5803_23.1.A.1.28_NCB.ftf User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: