Closed Bug 1198169 Opened 9 years ago Closed 9 years ago

[Video]Put a video which is can't recognized into memory of device,Video will get stuck.

Categories

(Firefox OS Graveyard :: Gaia::Video, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

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

VERIFIED FIXED
blocking-b2g 2.5+
Tracking Status
b2g-v2.2 --- unaffected
b2g-master --- verified

People

(Reporter: qiutian, Assigned: djf)

References

Details

(Keywords: regression, Whiteboard: [2.5-aries-test-run-1])

Attachments

(5 files, 1 obsolete file)

[1.Description]: [Aries KK v2.5][Flame KK v2.5][Video]Put a video which can't be recognized into memory of device. Launch Video, it always prompts video is being read. Tap a video which can play normally, there is no response. Found time:14:27 See attachements:logcat_videostuck.txt, AriesKK_v2.5_videostuck.3gp,Problematic_video.3gp [2.Testing Steps]: Precondition:There is some videos which can play normal in memory. 1.Connect device with computer. 2.Put a video which can't be recognized into memory of device. 3.Disconnect USB. 4.Launch Video. 5.Tap a video which can play normally. [3.Expected Result]: In step 4, Video shows no exception and problematic video can't been recognized. In step 5, the video starts playing. [4.Actual Result]: In step 4, Video always show some videos is being read. In step 5, there is no response. [5.Reproduction build]: Device: Arise KK 2.5 (Affected) Build ID 20150824124704 Gaia Revision d7fb5717d3e0153ac64af2c0d5c11079846d81c3 Gaia Date 2015-08-24 10:07:41 Gecko Revision https://hg.mozilla.org/mozillacentral/rev/ba43a48d3c528cc956335793e02504e5ca2c149f Gecko Version 43.0a1 Device Name aries Firmware(Release) 4.4.2 Firmware(Incremental) eng.worker.20150824.122007 Firmware Date Mon Aug 24 12:20:15 UTC 2015 Bootloader s1 Device: Flame KK 2.2 (Unaffected) Build ID 20150824032503 Gaia Revision 335cd8e79c20f8d8e93a6efc9b97cc0ec17b5a46 Gaia Date 2015-08-14 19:06:41 Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/1effc4cb6414 Gecko Version 37.0 Device Name flame Firmware(Release) 4.4.2 Firmware(Incremental) eng.cltbld.20150824.065639 Firmware Date Mon Aug 24 06:56:50 EDT 2015 Firmware Version v18D v4 Bootloader L1TC000118D0 Device: Flame KK 2.5 (Affected) Build ID 20150824150208 Gaia Revision d7fb5717d3e0153ac64af2c0d5c11079846d81c3 Gaia Date 2015-08-24 10:07:41 Gecko Revision https://hg.mozilla.org/mozilla-central/rev/ba43a48d3c528cc956335793e02504e5ca2c149f Gecko Version 43.0a1 Device Name flame Firmware(Release) 4.4.2 Firmware(Incremental) eng.cltbld.20150824.182403 Firmware Date Mon Aug 24 18:24:15 EDT 2015 Firmware Version v18D v4 Bootloader L1TC000118D0 [6.Reproduction Frequency]: Always Recurrence,5/5 [7.TCID]: Free Test [8.Note] The video format of my Problematic_video is 3GP and size is 0 KB.
Attached file logcat_videostuck.txt
Attached file Problematic_video.zip
Up log testfile:Problematic_video.zip
Attachment #8652228 - Attachment is obsolete: true
[Blocking Requested - why for this release]: Dave, could you take a look at this issue? I think it might qualify as a blocker if the unreadable file also blocks the playback of other files. Feel free to de-nom if you think otherwise.
blocking-b2g: --- → 2.5?
Flags: needinfo?(dhylands)
If I had to guess, this is a metadata parsing issue with the video player.
Flags: needinfo?(dhylands)
I don't see any evidence of unreadable files. The bad areas seem to correspond to the trimarea (TA) which is not an area any of our code even touches.
Dave is right that this is a metadata parser issue, not a device storage issue. Assuming I can reproduce this with the attached files, I think it should probably be straightforward to fix. Taking it. The attached logcat includes this: 08-25 14:27:31.535 E/Video (14936): Content JS ERROR: getFile error: /sdcard1/VID_0052.3gp NotFoundError 08-25 14:27:31.535 E/Video (14936): at processFirstQueuedItem/< (app://video.gaiamobile.org/gaia_build_defer_index.js:888:359) There is a possible related (or possibly not) metadata parser hang in the Gallery app that is exposed by bug 1191731. If the problem is in the shared get_video_rotation.js code, then one bug fix should address both of those. 08-25 14:27:31.535 E/Video (14936): at getFile/getRequest.onerror (app://video.gaiamobile.org/gaia_build_defer_index.js:314:248)
Assignee: nobody → dflanagan
It seems odd that 2.2 is not affected, since I don't think we changed the metadata parsing at all. However, Hub (I think it was him) recently mentioned to me a bug where the audio element had changed to no longer fire an error event when given bad media to play. He was concerned that the same thing might be happening with the video element. If there has been a gecko change like that, it could well be the cause of a bug like this.
Blocking: problematic video is not skipped and error handling is not graceful (it is blocking users from playing other videos).
blocking-b2g: 2.5? → 2.5+
Priority: -- → P2
See also bug 1200401, where Hub has found that switching to an onsuspend event causes a crash on the corrupt file.
I've just found that the suspend event is fired even for valid videos, like those produced by the camera app, so I can't use that as the basis for a fix. I'll have to use a timeout instead.
Comment on attachment 8661992 [details] [review] [gaia] davidflanagan:bug1198169 > mozilla-b2g:master Hub: since you're working on something very similar, could you review this patch? (And also check if it fixes the bug you're working on?) Also setting feedback? for Jim, since he was talking about a setTimeout() solution like this, and I want him to know that onsuspend is not working in the case of videos from the camera (perhaps because the files are so big on Aries?)
Attachment #8661992 - Flags: review?(hub)
Attachment #8661992 - Flags: feedback?(squibblyflabbetydoo)
This works nicely, skipping all the ._ files, but then it triggers the crash reported in bug 1200401. Also it make things quite slow. Still an improvement.
Comment on attachment 8661992 [details] [review] [gaia] davidflanagan:bug1198169 > mozilla-b2g:master Does the job. But see my comments. Not sure what can be done here though.
Attachment #8661992 - Flags: review?(hub) → review+
Blocks: 1200401
Correction. It triggers *a* crash.
(In reply to Hubert Figuiere [:hub] from comment #14) > This works nicely, skipping all the ._ files, but then it triggers the crash > reported in bug 1200401. > > Also it make things quite slow. Still an improvement. Okay. Let's land this one to work around the no error event bug. Then, let's land Jim's MediaDB patch to start ignoring dot files, so we don't have the MacOS ._ problem. Then, in bug 1200401 we can try to get to the bottom of the crash issue. I'm guessing that there is some specific unsupported video file in that bug that is causing the problem...
Keywords: checkin-needed
nevermind. maybe autolander isn't doing automatic checkins anymore.
Keywords: checkin-needed
yup, autolander hasn't been autolanding for quite a while.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
This bug has been verified as "pass" on the latest build of Flame KK v2.5 and Arise KK v2.5 by the STR in comment 0. Actual results: In step 4, Video shows no exception and problematic video can't been recognized. In step 5, the video starts playing. See attachment: Verified_AriseKK_v2.5.3gp Reproduce rate: 0/10 Device: Arise KK 2.5 (Pass) Build ID 20150920050928 Gaia Revision e67d319d0854e32e23210784eb9c4e1b8a025adb Gaia Date 2015-09-19 07:42:05 Gecko Revision https://hg.mozilla.org/mozilla-central/rev/ccd6b5f5e544c1d708849144943a776941bd3794 Gecko Version 43.0a1 Device Name aries Firmware(Release) 4.4.2 Firmware(Incremental) eng.worker.20150920.042926 Firmware Date Sun Sep 20 04:29:33 UTC 2015 Bootloader s1 Device: Flame KK 2.5 (Pass) Build ID 20150920150205 Gaia Revision e67d319d0854e32e23210784eb9c4e1b8a025adb Gaia Date 2015-09-19 07:42:05 Gecko Revision https://hg.mozilla.org/mozilla-central/rev/ccd6b5f5e544c1d708849144943a776941bd3794 Gecko Version 43.0a1 Device Name flame Firmware(Release) 4.4.2 Firmware(Incremental) eng.cltbld.20150920.182952 Firmware Date Sun Sep 20 18:30:04 EDT 2015 Firmware Version v18D v4 Bootloader L1TC000118D0
Status: RESOLVED → VERIFIED
QA Whiteboard: [MGSEI-Triage+]
Yep, the same issue with onsuspend happens in Music. :( Filed bug 1208331.
Attachment #8661992 - Flags: feedback?(squibblyflabbetydoo) → feedback+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: