Closed Bug 1232348 Opened 4 years ago Closed 4 years ago

Camera viewfinder will freeze when recording a Video

Categories

(Firefox OS Graveyard :: AudioChannel, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

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

VERIFIED FIXED
blocking-b2g 2.5+
Tracking Status
firefox46 --- fixed
b2g-v2.5 --- fixed
b2g-master --- verified

People

(Reporter: Marty, Assigned: alwu)

References

()

Details

(Keywords: regression, smoketest, Whiteboard: [2.6-Daily-Testing][Spark])

Attachments

(4 files, 1 obsolete file)

Attached file logcat-camera.txt (obsolete) —
Description:
When the user starts recording a video, the camera viewfinder will freeze. This viewfinder will stay frozen until the user navigates away from the camera viewfinder (preview mode, homescreen, lock device).

Videos will still be recorded properly, but the user will not have the viewfinder to frame their video properly.

Repro Steps:
1) Update a Aries to 20151214121335
2) Open the Camera app. Switch to Video mode.
3) Begin recording the video.

Actual:
Video viewfinder will freeze when starting the video, and remain frozen after the recording has completed.

Expected:
Video viewfinder remains functional when starting and after recording a video.

Environmental Variables:
Device: Aries 2.6
Build ID: 20151214121335
Gaia: ad15b4f1f50f4e28170a069f049e5bdeec8d15cc
Gecko: 99137d6d4061f408ae0869122649d8bdf489cc30
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 45.0a1
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

Repro frequency: 5/5
Link to failed test case: https://moztrap.mozilla.org/manage/case/2477/
See attached: Video (URL), Logcat
This issue DOES occur on the latest Flame 2.6 build.
Video viewfinder will freeze when starting the video, and remain frozen after the recording has completed.

Environmental Variables:
Device: FlameKK 2.6 (512MB)
BuildID: 20151214030209
Gaia: ad15b4f1f50f4e28170a069f049e5bdeec8d15cc
Gecko: 99137d6d4061f408ae0869122649d8bdf489cc30
Gonk: 205ac4204bbbb2098a8046444acba551ba5dc75a
Version: 45.0a1
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0

*******************************************

This issue does NOT occur on the latest Flame 2.5 build.
Video viewfinder remains functional when starting and after recording a video.

Environmental Variables:
Device: FlameKK 2.5 (512MB)
BuildID: 20151214083757
Gaia: 062e0fa48c1b5d5156f6911a5a4519128fac3231
Gecko: d76a9f65b6ba2ab587d3a0fb5119773ba68720a0
Gonk: 205ac4204bbbb2098a8046444acba551ba5dc75a
Version: 44.0a2 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
blocking-b2g: --- → 2.6?
QA Contact: pcheng
mozilla inbound regression window:

Last Working
Device: Flame 2.6
BuildID: 20151211074133
Gaia: d886e152b42e557db612470d3417fe2947cbdeee
Gecko: ee132b90ad4b11b03c4dcc5b21bc636ef11bbe66
Version: 45.0a1 (2.6) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0

First Broken
Device: Flame 2.6
BuildID: 20151211081830
Gaia: d886e152b42e557db612470d3417fe2947cbdeee
Gecko: eb3d458624eb3a62e8aebfaed322a63314153d3e
Version: 45.0a1 (2.6) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0

Gaia is the same so it's a Gecko issue.

Gecko pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=ee132b90ad4b11b03c4dcc5b21bc636ef11bbe66&tochange=eb3d458624eb3a62e8aebfaed322a63314153d3e

Caused by changes made in Bug 1214148.
Blocks: 1214148
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Andrea this issue seems to have been caused by the changes for bug 1214148.  Can you please take a look?
Flags: needinfo?(jmercado) → needinfo?(amarchesini)
Flags: needinfo?(amarchesini)
This appears to have been fixed with the fixes for bug 1232363.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
This issue is verified fixed on the latest Aries and Flame 2.6 builds.
Video viewfinder remains functional when starting and after recording a video.

Environmental Variables:
Device: Aries 2.6
BuildID: 20151215145647
Gaia: ee43a95f2bbe39c5ac8c9fcdec76749a56c02f2e
Gecko: cb66ffeb6725e8344818e8e2f707ae2eaeb953b4
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 46.0a1 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0

Environmental Variables:
Device: FlameKK 2.6 (512MB)
BuildID: 20151215145230
Gaia: ee43a95f2bbe39c5ac8c9fcdec76749a56c02f2e
Gecko: cb66ffeb6725e8344818e8e2f707ae2eaeb953b4
Gonk: 205ac4204bbbb2098a8046444acba551ba5dc75a
Version: 46.0a1
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0
Status: RESOLVED → VERIFIED
Flags: needinfo?(jmercado)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Assignee: nobody → alwu
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Component: Gaia::Camera → AudioChannel
Already find the possible solution, I'm testing the patch now.
Duplicate of this bug: 1232573
Attachment #8698079 - Attachment is obsolete: true
No longer blocks: 1214148
Depends on: 1214148
This changeset is based on the bug1214148.

---

Try-server result.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1385b96f0866
Duplicate of this bug: 1232399
Hi, Baku,
Could you help me review this patch?
Very appreciate!

---

This issue is caused by our nest-frame checking error.

Since the normal OOP processes are opened out from b2g process, the owner of their tabParent are the same - system app window. Therefore, in order to find the real case of nested MozFrame, we need to exclude this situation.
Comment on attachment 8700562 [details]
MozReview Request: Bug 1232348 - adjust nested-frame checking condition. r=baku.

https://reviewboard.mozilla.org/r/28759/#review25519

::: dom/browser-element/BrowserElementAudioChannel.cpp:583
(Diff revision 1)
> -    if (!iTabParent) {
> +    nsresult rv = IsFromNestedFrame(aSubject, isNested);

if (NS_WARN_IF(NS_FAILED(rv))) {
  return rv;
}

::: dom/browser-element/BrowserElementAudioChannel.cpp:588
(Diff revision 1)
> -    return NS_OK;
> +    return rv;

keep return NS_OK

::: dom/browser-element/BrowserElementAudioChannel.cpp:661
(Diff revision 1)
> +{

aIsNested = false;

::: dom/browser-element/BrowserElementAudioChannel.cpp:664
(Diff revision 1)
> +    aIsNested = false;

remove all of these.

::: dom/browser-element/BrowserElementAudioChannel.cpp:685
(Diff revision 1)
> +    aIsNested = true;

and keep only this

We should land this with all the other patches. Is this the only blocker we have, or do we have other regressions?
Attachment #8700562 - Flags: review?(amarchesini) → review+
(In reply to Andrea Marchesini (:baku) from comment #15)
> We should land this with all the other patches. Is this the only blocker we
> have, or do we have other regressions?

Thanks for review :)

I think the bug-landing order should be like following,
> bug1232363 -> bug1214148 -> bug1232348 (this bug)
Comment on attachment 8700562 [details]
MozReview Request: Bug 1232348 - adjust nested-frame checking condition. r=baku.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/28759/diff/1-2/
Attachment #8700562 - Attachment description: MozReview Request: Bug 1232348 - adjust nested-frame checking condition. → MozReview Request: Bug 1232348 - adjust nested-frame checking condition. r=baku.
Keywords: checkin-needed
We are seeing this issue occurring again on the latest Aries 2.6 and Flame 2.6 builds. The behaviour of bug 1232399 which was duped to this one is also occurring again on Flame 2.6.

Environmental Variables:
Device: Aries 2.6 [Full Flash]
BuildID: 20151223122247
Gaia: 94cc99aac11339e297da186ec7153ca4ae9ab8cd
Gecko: 35b211eaad1fa828064514c547057e4400e24459
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 46.0a1 (2.6) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0

Environmental Variables:
Device: FlameKK 2.6 [Full Flash][512mb]
BuildID: 20151223030206
Gaia: 94cc99aac11339e297da186ec7153ca4ae9ab8cd
Gecko: 35b211eaad1fa828064514c547057e4400e24459
Gonk: 205ac4204bbbb2098a8046444acba551ba5dc75a
Version: 46.0a1 (2.6) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0

Result:
The viewfinder freezes when a video is being recorded on both devices and videos keep pausing on Flame.
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
This was not occurringd until today even those this bug was reopened on the 17. I suspect that the check-in bug 1232363 might have introduced this again. QA Wanted to determine if this is the case.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
I'm pretty sure the re-land of bug 1214148 caused this bug to re-occur, and we already have a patch on this bug and we just need to land the fix on this side ASAP. See comment 16.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Blocks: 1224889
https://hg.mozilla.org/mozilla-central/rev/0de6c39787f1
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
  This bug has been verified as "pass" on the latest build of Flame KK master user and Aries KK master user by the STR in comment 0.

Actual results: Video viewfinder remains functional when starting and after recording a video.
See attachment: verified_Aries KK_master.3gp.
Reproduce rate: 0/10


Device: Flame KK master user 512mb(Pass)
Build ID               20151226150205
Gaia Revision          adf75f7a97ea0627b3211f0eef61eb72073f2dff
Gaia Date              2015-12-24 10:09:32
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/c39a71cf41460924d2988d2d63be2f5d267db82a
Gecko Version          46.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151226.191358
Firmware Date          Sat Dec 26 19:14:11 EST 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Device: Aries KK master user(Pass)
Build ID               20151226120538
Gaia Revision          adf75f7a97ea0627b3211f0eef61eb72073f2dff
Gaia Date              2015-12-24 10:09:32
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/c39a71cf41460924d2988d2d63be2f5d267db82a
Gecko Version          46.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151226.123550
Firmware Date          Sat Dec 26 12:35:58 UTC 2015
Bootloader             s1
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
Hello,

This bug is also reproducible on ZTE Open C v2.5. The STR are the same as described in Comment 0.

After adapting the patch for 2.5, applied it, builded and flashed gecko, the bug has gone. Moreover, it resolved another bug I was encountering : Unable to hear sound when going to Settings > Ringtones/Alert and tapping on a ringtone or an alert.
Flags: needinfo?(alwu)
I think you can merge this bug and bug1232363 back to v2.5 :)
Flags: needinfo?(alwu)
NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 1214148
User impact if declined: Video Mode will freeze, when user start video recording.
Testing completed: Yes
Risk to taking this patch (and alternatives if risky): 
String or UUID changes made by this patch:
Flags: needinfo?(alwu)
Attachment #8719918 - Flags: approval‑mozilla‑b2g44?
Flags: needinfo?(alwu)
Hello,

What should I do now, to make the patch applied into v2.5 branch ?
Hello,

Can you verify and apply the patch (attachment 8719918 [details] [diff] [review]) please ?

Thank you in advance.
Flags: needinfo?(alwu)
Hi, micgeri, 
I don't have a permission to check-in code to v2.5 branch.

---

Hi, Josh,
Could you help to check-in this patch?
Thanks!
Flags: needinfo?(alwu) → needinfo?(jocheng)
Hi Mahe,
Do we still land patch for smartphone in 2.5?
Flags: needinfo?(jocheng) → needinfo?(mpotharaju)
Hey Josh, 

No, we need not land any patch on 2.5 for smartphone. 

Only fixes for the TV, as you deem fit. 

Thanks
Flags: needinfo?(mpotharaju)
(In reply to Mahendra Potharaju [:mahe] from comment #32)
> Hey Josh, 
> 
> No, we need not land any patch on 2.5 for smartphone. 
> 
> Only fixes for the TV, as you deem fit. 
> 
> Thanks

I understand the situation, but micgeri is an external contributor, and he asked for the uplift way before the decision regarding for smartphone. Uplifting this will unblock contributors on smartphones, which is really important in the context of the transition work.
Flags: needinfo?(mpotharaju)
We do not have any sheriff support any longer. And I don't think we are making builds off 2.5. 

Should this instead go into the new repos kanikani/pine?
Flags: needinfo?(mpotharaju)
(In reply to Mahendra Potharaju [:mahe] from comment #34)
> We do not have any sheriff support any longer. And I don't think we are
> making builds off 2.5. 

But contributors are doing them.

> 
> Should this instead go into the new repos kanikani/pine?

No.
Comment on attachment 8719918 [details] [diff] [review]
Adjust nested frame checking (adapted for v2.5 branch)

Approve for b2g44 as this is a small patch which could benefit our contributor.
Attachment #8719918 - Flags: approval‑mozilla‑b2g44? → approval‑mozilla‑b2g44+
blocking-b2g: 2.6? → 2.5+
Hi Gary, 
Could you help to merge this patch to 2.5 Gecko? Thanks
Flags: needinfo?(xeonchen)
You need to log in before you can comment on or make changes to this bug.