Closed Bug 1053614 Opened 10 years ago Closed 10 years ago

repeatedly enter and leave camera app, then high chance camera will be black screen when entering camera

Categories

(Firefox OS Graveyard :: GonkIntegration, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v2.0 verified, b2g-v2.1 verified)

VERIFIED FIXED
2.1 S3 (29aug)
blocking-b2g 2.0+
Tracking Status
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: xwaynec, Assigned: GaryChen)

References

Details

Attachments

(2 files)

1. enter camera app
2. back to home
3. repeat 1&2

4. high chance camera will be black screen when entering camera
I can also reproduce on flame. 
Here is my version information.
-------------------------------
Gaia      a2219a55145e730e56e09527b40152d68a43b0d9
Gecko     https://hg.mozilla.org/mozilla-central/rev/d7e78f0c1465
BuildID   20140813160202
Version   34.0a1
ro.build.version.incremental=96
ro.build.date=Fri May 23 11:17:40 CST 2014
B1TC400110G0
Hi Diego,
   I found sometimes |camera.releasing| gets wrong status even 'camera.release' was called. So I re-order the script, let |camera.releasing| be false then emit('released'), to make sure |camera.releasing| always get right status.

   Please help to review this patch, and give me some feedback, thanks.
Attachment #8472821 - Flags: review?(dmarcos)
Explanation of what is happening:

- Each time the camera launches we call mozCameras.getCamera to request the camera hardware
- mozCameras.getCamera returns error when called multiple times
- We release the camera hardware when the user exits. If the app is quickly reopened we have to wait for the previous camera to be released before requesting a new one to mozCameras.
- We use a boolean to indicate that the camera is releasing.
- When the camera launches it checks for that boolean and if true it waits for the 'released' event before requesting a new camera.
- We were setting the releasing flag to false after emitting the 'released' event.
- When the released event is emitted the camera checks again for the releasing boolean and if it's true decides to wait. 
- Now the camera we'll be waiting for an event that will never be emitted resulting on a black screen.
Comment on attachment 8472821 [details] [review]
pull request: https://github.com/mozilla-b2g/gaia/pull/22868

Thanks a lot! It looks great.
Attachment #8472821 - Flags: review?(dmarcos) → review+
This needs to be uplifted to 2.0
Landed on master:

https://github.com/mozilla-b2g/gaia/commit/cb93385c1a06d7b2c9efb02d71c46f3849488cf2
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(jsmith)
Resolution: --- → FIXED
Bhavana probably is the better person to answer this.
Flags: needinfo?(jsmith) → needinfo?(bbajaj)
Assignee: nobody → gchen
Summary: [woodduck] repeatedly enter and leave camera app, then high chance camera will be black screen when entering camera → repeatedly enter and leave camera app, then high chance camera will be black screen when entering camera
Group: mozilla-employee-confidential
Hi Gary, can you generate a v2.0 patch? thanks!
Flags: needinfo?(gchen)
Hi Thomas,
   Should I wait for 2.0+?
   I think it is easy to uplift to v2.0, since this patch is just a one line patch.
   Thanks.
Flags: needinfo?(gchen)
See Also: → 942087
See Also: 942087
See Also: → 1024881
(In reply to thomas tsai from comment #8)
> Hi Gary, can you generate a v2.0 patch? thanks!

Hi Thomas,
   Here is the v2.0 PR.
   https://github.com/mozilla-b2g/gaia/pull/22978
Are we able to reproduce the STR in description on 2.0? If so, lets nom this for 2.0 ?
Flags: needinfo?(bbajaj) → needinfo?(jsmith)
QA Wanted for comment 12
Flags: needinfo?(jsmith) → needinfo?(jmitchell)
Keywords: qawanted
Flags: needinfo?(jmitchell)
QA Contact: ddixon
(In reply to bhavana bajaj [:bajaj] from comment #12)
> Are we able to reproduce the STR in description on 2.0? If so, lets nom this
> for 2.0 ?

Issue DOES reproduce in latest Flame 2.0 build with 319 MB memory. 

Environmental Variables:
Device: Flame 2.0
BuildID: 20140818021116
Gaia: 640ce38ca03f1e26a4524ff4215b8b3f7731e2f0
Gecko: 692c93509dc9
Version: 32.0 (2.0) 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Keywords: qawanted
[Blocking Requested - why for this release]: per comment 12
blocking-b2g: --- → 2.0?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
blocking-b2g: 2.0? → 2.0+
This issue has been verified successfully on Flame2.0&2.1
Verify video:"verify_1053614.mp4".

Flame2.0 build
Gaia-Rev        8d1e868864c8a8f1e037685f0656d1da70d08c06
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g32_v2_0/rev/c756bd8bf3c3
Build-ID        20141130000204
Version         32.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141130.032432
FW-Date         Sun Nov 30 03:24:44 EST 2014
Bootloader      L1TC00011880

Flame2.1 build:
Gaia-Rev        ccb49abe412c978a4045f0c75abff534372716c4
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/18fb67530b22
Build-ID        20141130001203
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141130.034738
FW-Date         Sun Nov 30 03:47:49 EST 2014
Bootloader      L1TC00011880
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: