Closed Bug 1088452 Opened 10 years ago Closed 10 years ago

[Camera] Video preview playback shows a black screen in portrait mode

Categories

(Core :: Layout, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

VERIFIED FIXED
2.1 S9 (21Nov)
blocking-b2g 2.1+
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.1 --- verified
b2g-v2.2 --- unaffected

People

(Reporter: pcheng, Assigned: roc)

References

Details

(Keywords: regression, Whiteboard: [2.1-bug-bash] )

Attachments

(2 files)

This issue only occurs in portrait mode and only in preview.

STR:
1) Launch Camera
2) Switch to camcorder mode and record a 5 second video
3) After recording, tap on the preview icon to the left of the shutter button
4) View the video that was just taken in portrait orientation

Expected: Video playback looks normal

Actual: Video playback shows a complete black screen.
Repro frequency: 3/3

Device: Flame 2.1
BuildID: 20141023001201
Gaia: 1e48e3e40e0780c0cd07a3457e5fe2efeeb542d1
Gecko: 09fb60a37850
Gonk: 05aa7b98d3f891b334031dc710d48d0d6b82ec1d
Version: 34.0 (2.1)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

qawanted for branch check or I'll do this tomorrow.
QA Whiteboard: [QAnalyst-Triage?]
Keywords: qawanted
Whiteboard: [2.1-FC-bug-bash]
Whiteboard: [2.1-FC-bug-bash] → [2.1-bug-bash]
Forgot to NI last week.
Flags: needinfo?(jmitchell)
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
OS: Linux → Gonk (Firefox OS)
Hardware: x86 → ARM
This issue only occurs on 512MB memory and does NOT occur on 319MB memory. Bug is still reproducible on latest 2.1 engineering build with shallow flash.

Device: Flame 2.1
BuildID: 20141027111841
Gaia: 7eb79fe53aff075fe36fb4dd12ab01558af0b3cd
Gecko: 3ef4bed0132d
Version: 34.0 (2.1)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
Bug ONLY occurs in 2.1 with 512mb as listed in comment 4.

I checked in 2.2 and 2.0 with 512mb and the bug does NOT reproduce.

Repro: 0/7

Environmental Variables:
Device: Flame 2.2 KK
BuildID: 20141027075744
Gaia: 0888735b2c5932624808147b85a60d698d9d7352
Gecko: 20408ad61ce5
Version: 36.0a1 (2.2)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
-----------------------------------------------------------------
Environmental Variables:
Device: Flame 2.0 KK
BuildID: 20141027083953
Gaia: 5e532a84e762b1bb6231756182cf1465671a061e
Gecko: 124f0bed1700
Version: 32.0 (2.0)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Keywords: qawantedregression
QA Contact: croesch
NI to Camera owner for blocking call -  Issue is 2.1 only
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell) → needinfo?(npark)
QA Contact: croesch
[Blocking Requested - why for this release]:
Although this only happens in 512 MB config, it is worth investigating to see whether this bug has any yet to be seen effect on 319MB.  Inability to see the video preview is critical enough to check for other potential issues from it.
blocking-b2g: --- → 2.1?
Flags: needinfo?(npark)
The first thing I did when branch checking for this bug was branch checks with 319mb and never was able to reproduce this bug. This is actually what led us to the 512mb discovery because normally we test in 319mb and I was unable to reproduce her bug. Through process of elimination we were able to narrow it down to the memory.

My apologies for not including this information in my previous comment.

-----------
Tested with Shallow Flash on 319mb using Engineering builds
-----------

This bug does NOT repro on Flame kk build: Flame 2.2 KK, Flame 2.1 KK, Flame 2.0 KK

Actual Result: No black screen seen when watching video previews in portrait view after taking video.

Repro Rate: 0/9

Environmental Variables:
Device: Flame 2.2 KK
BuildID: 20141027075744
Gaia: 0888735b2c5932624808147b85a60d698d9d7352
Gecko: 20408ad61ce5
Version: 36.0a1 (2.2)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
-----------------------------------------------------------------
Environmental Variables:
Device: Flame 2.1 KK
BuildID: 20141027032141
Gaia: f8378fe1c7f128a3b679201b469a82fca2371828
Gecko: 32a102b8e807
Version: 34.0 (2.1)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
-----------------------------------------------------------------
Environmental Variables:
Device: Flame 2.0 KK
BuildID: 20141027083953
Gaia: 5e532a84e762b1bb6231756182cf1465671a061e
Gecko: 124f0bed1700
Version: 32.0 (2.0)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Because this is a blocker and 2.1 only, let's find the 'fixed' window for what fixes this issue in 2.2 so it can possibly be uplifted to 2.1
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
QA Contact: ckreinbring
blocking-b2g: 2.1? → 2.1+
Reverse regression window
Last broken
BuildID: 20140916162300
Gaia: 50666fa8bbbf3d346faff24f92ad8140a44a49d0
Gecko: 49ef7b18963d
Platform Version: 35.0a1
Firmware Version: V188
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

First working
BuildID: 20140916170759
Gaia: 50666fa8bbbf3d346faff24f92ad8140a44a49d0
Gecko: 8252eae8278c
Platform Version: 35.0a1
Firmware Version: V188
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Working Gaia / Broken Gecko = Repro
Gaia: 50666fa8bbbf3d346faff24f92ad8140a44a49d0
Gecko: 49ef7b18963d
Broken Gaia / Working Gecko = No repro
Gaia: 50666fa8bbbf3d346faff24f92ad8140a44a49d0
Gecko: 8252eae8278c
Gecko pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=49ef7b18963d&tochange=8252eae8278c


Mozilla Inbound
Last broken
BuildID: 20140915220444
Gaia: e2d70bee03b5380ac327a145e5d694fb2443f018
Gecko: 3b7921328fc1
Platform Version: 35.0a1
Firmware Version: V188
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

First working
BuildID: 20140915220644
Gaia: e2d70bee03b5380ac327a145e5d694fb2443f018
Gecko: 66bad3def025
Platform Version: 35.0a1
Firmware Version: V188
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Working Gaia / Broken Gecko = Repro
Gaia: e2d70bee03b5380ac327a145e5d694fb2443f018
Gecko: 3b7921328fc1
Broken Gaia / Working Gecko = No repro
Gaia: e2d70bee03b5380ac327a145e5d694fb2443f018
Gecko: 66bad3def025
Gecko pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=3b7921328fc1&tochange=66bad3def025
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Roc - It looks like your patch for bug 1051636 fixed THIS issue in 2.2 but that patch was backed out of 2.1 (Aurora) leaving THIS issue 2.1 affected-  can you take a look?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell) → needinfo?(roc)
QA Contact: ckreinbring
Component: Gaia::Camera → Layout
Product: Firefox OS → Core
OK, I'll try to make the proper fix for bug 1073252 and we can land that on central and FxOS 2.1, and reenable the fix in bug 1051636 for FxOS on central and 2.1.
Flags: needinfo?(roc)
I have attached patches to bug 1073252. Those patches should be easily back-portable to FxOS 2.1. They work with the Camera app on my Flame with mozilla-central. It would be great if someone can help with additional testing on 2.1 and on other devices/apps.
Depends on: 1073252
1073252 landed and stuck on central. Can someone take over testing and uplifting those patches for FxOS 2.1?
Flags: needinfo?(jmitchell)
I'm not really involved in the uplift process and don't know whom to NI for that - Tony?
Flags: needinfo?(jmitchell) → needinfo?(tchung)
:roc, 

I am confused how the backout in 1051636, does not fix this issue on 2.1(aurora backout:https://bugzilla.mozilla.org/show_bug.cgi?id=1051636#c16) but fixes this issue on 2.2 with the same backout on mozilla-central (https://bugzilla.mozilla.org/show_bug.cgi?id=1051636#c14)?

How risky are the latest patches in https://bugzilla.mozilla.org/show_bug.cgi?id=1073252 given the original patches had caused a regression ?
Flags: needinfo?(roc)
Was the backout in 1051636 the right patch to have fixed this regression?
Hey :roc, given we have roc's patches fixing the bug here I am setting the assignee to you, as we need all release blockers assigned. Feel free to reassign as needed.

Also waiting for the NI above on :roc to see where we stand on uplifts.
Assignee: nobody → roc
The story so far:

Bug 1022612 did some major layout surgery that we needed for bug 967844, an important FirefoxOS scrolling feature. Changes in bug 1022612 caused regression bug 1051636 (which, FWIW, was an existing bug that my changes just exposed).

Fixing bug 1051636 was easy but caused bug 1073252 because FxOS Hardware Composer was relying on the existing bug for important opaqueness optimizations to be triggered, so we fell off the optimization path. Because at that time 1051636 was only known to affect Windows, and there was pressure to fix the FxOS regression quickly, I disabled the 1051636 fix on Aurora on Sep 26. (I don't know which FxOS branch that is.)

I fixed bug 1073252 on central by reworking the opaqueness optimization. But I made a mistake and caused bugs 1092543 and 1093378. I just figured out what I did wrong and submitted a fix for bug 1092543 which also fixes bug 1093378. I hope there won't be any more regressions; at least the mistake I made was simple and the fix is also simple.

So hopefully we can just uplift patches in bug 1073252, bug 1051636 and bug 1092543 to every FxOS branch that got bug 1022612, and get clear of this mess!
Flags: needinfo?(roc)
Depends on: 1051636, 1092543
Keywords: verifyme
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #19)
> The story so far:
> 
> Bug 1022612 did some major layout surgery that we needed for bug 967844, an
> important FirefoxOS scrolling feature. Changes in bug 1022612 caused
> regression bug 1051636 (which, FWIW, was an existing bug that my changes
> just exposed).
> 
> Fixing bug 1051636 was easy but caused bug 1073252 because FxOS Hardware
> Composer was relying on the existing bug for important opaqueness
> optimizations to be triggered, so we fell off the optimization path. Because
> at that time 1051636 was only known to affect Windows, and there was
> pressure to fix the FxOS regression quickly, I disabled the 1051636 fix on
> Aurora on Sep 26. (I don't know which FxOS branch that is.)
mozilla-aurora(gecko 34) on Sep 26 was still the gecko used for FxOS 2.1. So your backout exists there already.
> 
> I fixed bug 1073252 on central by reworking the opaqueness optimization. But
> I made a mistake and caused bugs 1092543 and 1093378. I just figured out
> what I did wrong and submitted a fix for bug 1092543 which also fixes bug
> 1093378. I hope there won't be any more regressions; at least the mistake I
> made was simple and the fix is also simple.
> 
> So hopefully we can just uplift patches in bug 1073252, bug 1051636 and bug
> 1092543 to every FxOS branch that got bug 1022612, and get clear of this
> mess!
https://bugzilla.mozilla.org/show_bug.cgi?id=1022612 is a part of 2.1 code base given 2.1 is based on gecko 34.

:roc, can you please request approval-mozilla-b2g34 on the needed patches (likely 1073252 and 1092543) which apply to https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/ (repo for 2.1)
Flags: needinfo?(roc)
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 #): 1022612
User impact if declined: Broken camera rendering in some cases, probably other bugs
Testing completed: trunk testing for a while
Risk to taking this patch (and alternatives if risky): some risk but no less-risky alternatives known
String or UUID changes made by this patch: none

This is a rollup patch. I have individual patches in my repo that I can land once I have approval.
Flags: needinfo?(roc)
Attachment #8524243 - Flags: approval-mozilla-b2g34?
Attachment #8524243 - Flags: approval-mozilla-b2g34? → approval-mozilla-b2g34+
Landed on b2g34. Someone should test this, and bug 1073252, bug 1051636 and bug 1092543 to make sure everything worked as expected.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.1 S9 (21Nov)
Verified in 2.1, the bug is no longer reproducible.

version info:
Gaia-Rev        1b231b87aad384842dfc79614b2a9ca68a4b4ff3
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/95fbd7635152
Build-ID        20141118001204
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  40
FW-Date         Tue Oct 21 15:59:42 CST 2014
Bootloader      L1TC10011880
Keywords: verifyme
Status: RESOLVED → VERIFIED
Attached video VIDEO0038_Compress.MP4
Verified pass in flame 2.1 build:
Gaia-Rev        1b231b87aad384842dfc79614b2a9ca68a4b4ff3
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/95fbd7635152
Build-ID        20141118001204
Version         34.0
Flags: needinfo?(jocheng)
Flags: needinfo?(jocheng)
This issue is NOT fixed and still occurring on latest Flame 2.1. Aside from original STR please also follow comment 4's setup requirement for repro.

Repro rate: 5/5

Device: Flame (full/shallow flash, 512MB mem)
BuildID: 20141120063205
Gaia: 66e6a55892d2c5843d32ebbb63795d2d56892613
Gecko: 5afcd7e1b815
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 34.0 (2.1)
Firmware: V188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
[Blocking Requested - why for this release]:

Since 512MB config isn't part of 2.1 release (per comment 4), perhaps we could re-evaluate whether this is a shipment blocker.  Bhavana, What do you think?
blocking-b2g: 2.1+ → 2.1?
Flags: needinfo?(bbajaj)
(In reply to No-Jun Park [:njpark] from comment #26)
> [Blocking Requested - why for this release]:
> 
> Since 512MB config isn't part of 2.1 release (per comment 4), perhaps we
> could re-evaluate whether this is a shipment blocker.  Bhavana, What do you
> think?

I think , we still have 2.1 OTA's going to 512 MB device and this is bad regression.
blocking-b2g: 2.1? → 2.1+
Flags: needinfo?(bbajaj)
no-jun can you confirm why there are conflicting results ? Did you try again to confirm this is not fixed?
Flags: needinfo?(npark)
No-jun to answer comment 28
Flags: needinfo?(tchung)
I tried it with below latest 2.1 build.  in 319MB config. the playback happens normally, but under 512MB config, the playback screen immediately displays pitch black with audio only.  
Gaia-Rev        6c739275e963465658c18c7a9ebaa48cbe927d34
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/9bfc7a166a94
Build-ID        20141121001202
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  40
FW-Date         Tue Oct 21 15:59:42 CST 2014
Bootloader      L1TC10011880

Hmm, looking back again, I don't see the link to the merge to 2.1 by Ryan (Under comment 22), was it merged a bit differently in this case?  Ryan is out on PTO, could we confirm it with release mgmt?
Flags: needinfo?(npark) → needinfo?(tchung)
Just checked the latest 2.1 gecko source code and verified the changes are there.  It looks like the patch did not fix the issue?
(In reply to No-Jun Park [:njpark] from comment #31)
> Just checked the latest 2.1 gecko source code and verified the changes are
> there.  It looks like the patch did not fix the issue?

Roc, can you comment?  this bug is reopened and still blocking 2.1+.
Flags: needinfo?(tchung)
Can we update the target milestone to see when we expect to close this bug? Thank you.
Flags: needinfo?(roc)
I cannot reproduce this on my Flame. Set memory size to 512MB with fastboot but that didn't help. Not sure what to do next ... any suggestions?
Flags: needinfo?(roc)
npark, maybe you can help me debug this?

You could enable LayerScope and then reproduce the bug, then disconnect the LayerScope client while the screen is incorrectly showing black, then somehow save the contents of the page (screenshots?) and attach them here. You'd need to apply the fix in bug 1067283 to b2g34 for LayerScope to work. See https://wiki.mozilla.org/Platform/GFX/LayerScope

You could also check whether my patch in bug 1099445 fixes the bug for you. I don't expect it to, but it might.
Mozilla-inbound Reverse Regression Window

Last Broken
Environmental Variables:
Device: Flame 2.2
BuildID: 20141129095244
Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
Gecko: ba93c0eb3cf7
Version: 37.0a1 (2.2)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

First Working
Environmental Variables:
Device: Flame 2.2
BuildID: 20141129104444
Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
Gecko: 756000f8f25c
Version: 37.0a1 (2.2)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

Last Broken gaia / First Working gecko -
Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
Gecko: 756000f8f25c

First Working gaia / Last Broken gecko -
Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
Gecko: ba93c0eb3cf7

Gecko Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=ba93c0eb3cf7&tochange=756000f8f25c

------------------------------------------------------------------------------

Roc - it looks like this was fixed in 2.2 by the patch for bug 1097941 (Patch Author: Benoit Girard). You might want to hand this off to him to uplift that to 2.1 to fix this bug.
Flags: needinfo?(roc)
Requested uplift in bug 1097941
Flags: needinfo?(roc)
(In reply to Joshua Mitchell [:Joshua_M] from comment #37)
> Mozilla-inbound Reverse Regression Window
> 
> Last Broken
> Environmental Variables:
> Device: Flame 2.2
> BuildID: 20141129095244
> Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
> Gecko: ba93c0eb3cf7
> Version: 37.0a1 (2.2)
> Firmware Version: v188-1
> User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
> 
> First Working
> Environmental Variables:
> Device: Flame 2.2
> BuildID: 20141129104444
> Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
> Gecko: 756000f8f25c
> Version: 37.0a1 (2.2)
> Firmware Version: v188-1
> User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
> 
> Last Broken gaia / First Working gecko -
> Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
> Gecko: 756000f8f25c
> 
> First Working gaia / Last Broken gecko -
> Gaia: 7119da7a86cd803840678ca3a6067e5622adc481
> Gecko: ba93c0eb3cf7
> 
> Gecko Pushlog:
> http://hg.mozilla.org/integration/mozilla-inbound/
> pushloghtml?fromchange=ba93c0eb3cf7&tochange=756000f8f25c
> 
> -----------------------------------------------------------------------------
> -
> 
> Roc - it looks like this was fixed in 2.2 by the patch for bug 1097941
> (Patch Author: Benoit Girard). You might want to hand this off to him to
> uplift that to 2.1 to fix this bug.

I've a+ed the patch for uplift, can you please verify the fix on 2.1 branch post landing. Thanks !
Keywords: verifyme
Roc landed something on b2g34 under this bug # yesterday:
https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/9faa165ac85d
I *think* this is ready for verification now.
Flags: needinfo?(jmitchell)
Setting qawanted for verification of this issue.
QA Whiteboard: [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
Keywords: qawanted
Issue is verified fixed on Flame 2.1. No black screen can be observed following STR. Repro rate: 0/7.

Device: Flame 2.1 (shallow/full flash, 512MB mem)
BuildID: 20141215001202
Gaia: 97873dca486abf4162a3345e71b375806937bdec
Gecko: ec87f4f41d3d
Version: 34.0 (2.1)
Firmware: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

----

Also verified fixed on Flame 2.2 since bug 1105292 was marked a duplicate of this. (However I observed bug 1101230 still occurs while verifying)

Device: Flame 2.2 Master (full flash, 512MB mem)
BuildID: 20141215040201
Gaia: e2a3e606675c346b6e6f35351a458040be599b09
Gecko: f14dcd1c8c0b
Version: 37.0a1 (2.2 Master)
Firmware: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

-----

For some odd reason I can't pull environmental variables while in full flash, so the above variables were grabbed using gecko gaia folders.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Keywords: qawanted, verifyme
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
QA Whiteboard: [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: