Closed
Bug 1124907
Opened 11 years ago
Closed 11 years ago
Joining empty room: wild flickering of screen showing own camera
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox39 | --- | fixed |
| b2g-v2.0 | --- | unaffected |
| b2g-v2.1 | --- | unaffected |
| b2g-v2.2 | --- | verified |
| b2g-master | --- | verified |
People
(Reporter: aryx, Assigned: sotaro)
References
Details
(Keywords: regression)
Attachments
(4 files, 1 obsolete file)
|
1.84 MB,
text/plain
|
Details | |
|
6.32 MB,
video/mp4
|
Details | |
|
807 bytes,
patch
|
nical
:
review+
bajaj
:
approval-mozilla-b2g37+
|
Details | Diff | Splinter Review |
|
6.23 MB,
video/mp4
|
Details |
B2G 3.0pre 20150121160202 on Flame (v188 base image)
Firefox Hello master branch latest commit is https://github.com/mozilla-b2g/firefoxos-loop-client/commit/f4b8613047dd8cfa60824e07302f3912c1e5372f
Joining empty room shows a wild flickering of the screen which depicts one's own camera.
Steps to reproduce:
1. Tried to call contact with Hello into room, contact unavailable.
2. Joined room from room list.
3. Confirmed the settings (front camera).
4. After some hundred milliseconds, the screen flickers, showing the cyan background in the breaks.
Comment 1•11 years ago
|
||
Same issue in 2.2
In 2.0 is working as expected.
Comment 2•11 years ago
|
||
Maybe some kind of nice effect could prevent of ugly flickers, what do you think?
Attachment #8553677 -
Flags: feedback?(oteo)
Attachment #8553677 -
Flags: feedback?(frsela)
Comment 3•11 years ago
|
||
Comment on attachment 8553677 [details] [diff] [review]
ma.patch
sorry wrong bug
Attachment #8553677 -
Attachment is obsolete: true
Attachment #8553677 -
Flags: feedback?(oteo)
Attachment #8553677 -
Flags: feedback?(frsela)
Comment 5•11 years ago
|
||
I can repro this bug on Flame v2.2&3.0,but can't repro on Flame v2.0&2.1.
See attachments: verify_v2.2.MP4 and logcat_1640.txt
Reproduce rate: 5/5.
Repro STR:
1. Install Hello app and sign in using a firefox account.
2. Join a room from room list.
3. Confirm the settings (Front or Back camera).
**"You are the only one in the room" message will display.
4. After some hundred milliseconds, the screen flickers, showing the cyan background in the breaks. --KO
Flame 3.0 build:
Build ID 20150205010209
Gaia Revision 2b83a6d5d1185a438b5bbd287497ac2743b501db
Gaia Date 2015-02-04 21:30:59
Gecko Revision https://hg.mozilla.org/mozilla-central/rev/34a66aaaca81
Gecko Version 38.0a1
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150205.044014
Firmware Date Thu Feb 5 04:40:24 EST 2015
Bootloader L1TC000118D0
Flame 2.2 build:
Build ID 20150205002503
Gaia Revision c2047a46e29696238e9b4c9caaba47736421449a
Gaia Date 2015-02-04 20:34:04
Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/adfba0a07e9b
Gecko Version 37.0a2
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150205.045043
Firmware Date Thu Feb 5 04:50:54 EST 2015
Bootloader L1TC000118D0
Flame 2.1 build:
Build ID 20150205001711
Gaia Revision 17bf14f12e43043654498330d610d469b8b55e64
Gaia Date 2015-02-03 05:19:41
Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/bdebcc47ec7a
Gecko Version 34.0
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150205.035050
Firmware Date Thu Feb 5 03:51:01 EST 2015
Bootloader L1TC000118D0
Flame 2.0 build:
Build ID 20150205000205
Gaia Revision 2989f2b2bd12fcc0e9c017d2db766e76a55873b8
Gaia Date 2015-01-22 21:13:40
Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g32_v2_0/rev/69057b33ef5b
Gecko Version 32.0
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150205.034605
Firmware Date Thu Feb 5 03:46:16 EST 2015
Bootloader L1TC000118D0
status-b2g-v2.0:
--- → unaffected
status-b2g-v2.1:
--- → unaffected
status-b2g-v2.2:
--- → affected
status-b2g-master:
--- → affected
Keywords: qawanted
Comment 6•11 years ago
|
||
Comment 7•11 years ago
|
||
Updated•11 years ago
|
QA Whiteboard: [MGSEI-Triage+]
Comment 9•11 years ago
|
||
Based on comment #1 and comment #5, triage is noting as a regression in the Keyword field and blocking because this is a regression.
blocking-b2g: 2.2? → 2.2+
Keywords: regression
Comment 10•11 years ago
|
||
Hi Maria,
Do you know who is working on Loop?
Please fw the ni.
Flags: needinfo?(oteo)
Comment 11•11 years ago
|
||
From the description of the bug, it seems to me, this is not a loop issue but a platform bug, but not totally sure.
I forward the ni to Jesup.
Flags: needinfo?(oteo) → needinfo?(rjesup)
Comment 12•11 years ago
|
||
Questions: does this happen in a call, or just while "waiting"? Does this happen at http://mozilla.github.io/webrtc-landing/gum_test.html? (video or video+audio option)
Flags: needinfo?(rjesup)
Flags: needinfo?(lixia)
Flags: needinfo?(archaeopteryx)
| Reporter | ||
Comment 13•11 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #12)
> Questions: does this happen in a call, or just while "waiting"?
Just while "waiting".
> Does this happen at http://mozilla.github.io/webrtc-landing/gum_test.html?
Tried video+audio with B2G 2.2 20150302002504 on Flame (v188 base image), issue didn't happen.
Flags: needinfo?(archaeopteryx)
Comment 14•11 years ago
|
||
(In reply to Archaeopteryx [:aryx] from comment #13)
> (In reply to Randell Jesup [:jesup] from comment #12)
> > Questions: does this happen in a call, or just while "waiting"?
> Just while "waiting".
>
> > Does this happen at http://mozilla.github.io/webrtc-landing/gum_test.html?
> Tried video+audio with B2G 2.2 20150302002504 on Flame (v188 base image),
> issue didn't happen.
These imply that getUserMedia and mediastreams (and video elements) are working correctly, and the flickering is something at the DOM level/application.
Maria, it isn't re-assinging the <video> srcObject input repeatedly, or fiddling the visibility, etc?
Flags: needinfo?(oteo)
Comment 16•11 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #14)
>
> Maria, it isn't re-assinging the <video> srcObject input repeatedly, or
> fiddling the visibility, etc?
Hi Randell, sorry for answering so late, I was on PTO last week.
In theory we are not re-assigning the video object and/or playing with the visibility of the video element.
The only difference with respect to the "established" room session, is that while a participant is the only one in the room, Loop is showing a "fake" video with the source being the media element returned by GUM: https://github.com/mozilla-b2g/firefoxos-loop-client/blob/master/app/js/screens/room/room_ui.js#L183"
Flags: needinfo?(oteo) → needinfo?(rjesup)
Comment 17•11 years ago
|
||
Hi Randell, do you mind putting assignee as you and keep working on this bug? thanks.
Flags: needinfo?(rjesup)
Comment 18•11 years ago
|
||
Sheila, can you find an assignee for this bug? Thanks.
Flags: needinfo?(smooney)
Comment 19•11 years ago
|
||
At my request, Randell looked at this to see if this problem was in the WebRTC Platform code. This does not appear to be a WebRTC Platform issue, but rather a more general issue outside of the WebRTC code and possibly something specific to FxOS and/or an interaction between the Loop client and other changes in v2.2.
A good owner for this bug would be Sotaro or someone with his skill set (deep, general video knowledge and very familiar with FxOS device debugging) to do a deeper dive on what exactly the root cause problem is.
Sotaro -- Do you have any time to look at this? Or could you recommend someone to do a deeper investigation?
Flags: needinfo?(sotaro.ikeda.g)
Flags: needinfo?(smooney)
Flags: needinfo?(rjesup)
| Assignee | ||
Comment 20•11 years ago
|
||
(In reply to Maire Reavy [:mreavy] (Plz needinfo me) from comment #19)
>
> Sotaro -- Do you have any time to look at this? Or could you recommend
> someone to do a deeper investigation?
At first, I am going to take a look.
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)
| Assignee | ||
Updated•11 years ago
|
Keywords: regressionwindow-wanted
| Assignee | ||
Comment 21•11 years ago
|
||
On latest master flame-kk, the problem seems to be addressed.
| Assignee | ||
Comment 22•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #21)
> On latest master flame-kk, the problem seems to be addressed.
On latest v2.2 flame-kk still has the problem.
| Assignee | ||
Comment 23•11 years ago
|
||
njpark, what is a correct way to request regression window? Are "b2g-2.2+" and "regressionwindow-wanted" enough for it?
Flags: needinfo?(npark)
Comment 24•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #23)
> njpark, what is a correct way to request regression window? Are "b2g-2.2+"
> and "regressionwindow-wanted" enough for it?
Yes, I added 'qawanted' too so they can also do the branch checking and independently reproduce the problem.
Comment 25•11 years ago
|
||
Ah, sorry for not reading the entire comment, as the branch check was already done.
Comment 26•11 years ago
|
||
So it seems that there is an issue with pushing the app to the device using grunt build. In that case, you can manually push the app by using WebIDE of the firefox browser. (Open App -> Open Packaged App -> choose the app folder insider the loop folder, then choose Install and Run under File menu) Then simply follow the STR to recreate the issue. The bug seems to be in master as well, but it is much easier to repro in 2.2 branch.
Updated•11 years ago
|
QA Contact: ychung
Comment 27•11 years ago
|
||
I was unable to reproduce this issue on the latest Flame Master and 2.2. I'm not sure if I'm on the same version as others. On Hello, it says "Unknown" under version in the Settings page. On the Firefox browser (for installing the app), it says "1.1.1d for the version.
No-Jun, were you able to reproduce this issue at all on the latest version of Hello?
Environmental Variables:
Device: Flame 3.0
Build ID: 20150319060239
Gaia: c39e15f631de80c69467fda0d4ea0bcda9e194ca
Gecko: cbd0efcd976c
Version: 39.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0
Environmental Variables:
Device: Flame 2.2
BuildID: 20150319100137
Gaia: 4e0633463571377ad4badc680b666771684e862d
Gecko: 535ec28fb36f
Version: 37.0 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Flags: needinfo?(npark)
Comment 28•11 years ago
|
||
I am still seeing the issue in 2.2 in master FxOS branches, and using Loop mobile master branch.
flame device with latest 2.2 FxOS version
BuildID:20150320062304
Platform version:37.0
Firmware Version: v18D-1
Gecko-c768752
Gaia-c8136ef
Flame device with latest master FxOS version
BuildID:20150320081235
Platform version:39a.01
Firmware Version: v18D-1
Gecko-a525293
Gaia-3e39898
Note: It seems that there has been a change in the FxOS master branch that makes the grunt fails (it works for 2.2 and previous versions). As soon as this PR https://github.com/mozilla-b2g/firefoxos-loop-client/pull/568 lands (I hope it will be today) you can use grunt in master as usual.
Otherwise WebIDE can be used in the meantime, and it works for all the FxOS versions.
Comment 29•11 years ago
|
||
(In reply to Yeojin Chung [:YeojinC] from comment #27)
> I was unable to reproduce this issue on the latest Flame Master and 2.2. I'm
> not sure if I'm on the same version as others. On Hello, it says "Unknown"
> under version in the Settings page. On the Firefox browser (for installing
> the app), it says "1.1.1d for the version.
>
> No-Jun, were you able to reproduce this issue at all on the latest version
> of Hello?
>
> Environmental Variables:
> Device: Flame 3.0
> Build ID: 20150319060239
> Gaia: c39e15f631de80c69467fda0d4ea0bcda9e194ca
> Gecko: cbd0efcd976c
> Version: 39.0a1 (3.0)
> Firmware Version: v18D-1
> User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0
>
> Environmental Variables:
> Device: Flame 2.2
> BuildID: 20150319100137
> Gaia: 4e0633463571377ad4badc680b666771684e862d
> Gecko: 535ec28fb36f
> Version: 37.0 (2.2)
> Firmware Version: v18D-1
> User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Yes I can reproduce the issue, and I think in the original str, it left out a step. In my case, if you tap the video screen right below the message "You are the only one in the room" it starts to flicker right away. It only works if you select the front camera too.
Flags: needinfo?(npark)
Comment 30•11 years ago
|
||
It is quite difficult to repro the issue in master, so I think we only need to use the 2.2 branch, according to sotaro.
Comment 31•11 years ago
|
||
(In reply to No-Jun Park [:njpark] from comment #30)
> It is quite difficult to repro the issue in master, so I think we only need
> to use the 2.2 branch, according to sotaro.
Thanks, No-Jun! I was able to reproduce the issue.
=============================================================
Mozilla-inbound Regression Window:
Last Working Environmental Variables:
Device: Flame 2.2
BuildID: 20141216070347
Gaia: af3d2f89f391c92667e04676fc0ac971e6021bb7
Gecko: 47fdf6370008
Version: 37.0a1 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
First Broken Environmental Variables:
Device: Flame 2.2
BuildID: 20141216071247
Gaia: af3d2f89f391c92667e04676fc0ac971e6021bb7
Gecko: 473ecad73b44
Version: 37.0a1 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Last Working Gaia First Broken Gecko: Issue DOES reproduce
Gaia: af3d2f89f391c92667e04676fc0ac971e6021bb7
Gecko: 473ecad73b44
First Broken Gaia Last Working Gecko: Issue does NOT reproduce
Gaia: af3d2f89f391c92667e04676fc0ac971e6021bb7
Gecko: 47fdf6370008
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=47fdf6370008&tochange=473ecad73b44
caused by bug 1043558
QA Whiteboard: [MGSEI-Triage+] → [QAnalyst-Triage?][MGSEI-Triage+]
Flags: needinfo?(ktucker)
Keywords: regressionwindow-wanted
QA Contact: ychung
Comment 32•11 years ago
|
||
Sotaro, can you take a look at this please? This looks to have been caused by the work done on bug 1043558
Blocks: 1043558
QA Whiteboard: [QAnalyst-Triage?][MGSEI-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
Flags: needinfo?(ktucker) → needinfo?(sotaro.ikeda.g)
| Assignee | ||
Comment 33•11 years ago
|
||
This bug is triggered by bug 1043558. But actual regression bug seems Bug 1077301.
Flags: needinfo?(sotaro.ikeda.g)
See Also: → 1077301
| Assignee | ||
Comment 34•11 years ago
|
||
When the problem happens, there are 2 ImageHost/ImageClient pairs. One ImageHost is connected to ImageLayerComposite, the other ImageHost is not connected to ImageLayerComposite. ImageHost::UseTextureHost() call to unbounded ImageHost make the bound GrallocTextureHostOGL to unbound state.
FYI: related diagram
https://github.com/sotaroikeda/firefox-diagrams/blob/master/gfx/gfx_ImageBridge_FirefoxOS_2_1.pdf?raw=true
| Assignee | ||
Comment 35•11 years ago
|
||
Before bug 1043558, it does not cause the problem because shmem is not directly bounded to OpenGL texture.
| Assignee | ||
Comment 36•11 years ago
|
||
The patch fix the problem on v2.2 flame.
| Assignee | ||
Comment 37•11 years ago
|
||
| Assignee | ||
Updated•11 years ago
|
Component: Gaia::Loop → Graphics: Layers
Product: Firefox OS → Core
| Assignee | ||
Updated•11 years ago
|
Attachment #8581750 -
Flags: review?(nical.bugzilla)
Comment 38•11 years ago
|
||
Comment on attachment 8581750 [details] [diff] [review]
patch - Call SetCompositor() only when it is valid
Review of attachment 8581750 [details] [diff] [review]:
-----------------------------------------------------------------
Looks, good. I am curious, though, as to why we have a ImageHost that is not attached to a layer?
Attachment #8581750 -
Flags: review?(nical.bugzilla) → review+
| Assignee | ||
Comment 39•11 years ago
|
||
(In reply to Nicolas Silva [:nical] from comment #38)
>
> Looks, good. I am curious, though, as to why we have a ImageHost that is not
> attached to a layer?
I am not sure. I am going to check it.
| Assignee | ||
Comment 40•11 years ago
|
||
| Assignee | ||
Comment 41•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #39)
> (In reply to Nicolas Silva [:nical] from comment #38)
> >
> > Looks, good. I am curious, though, as to why we have a ImageHost that is not
> > attached to a layer?
>
> I am not sure. I am going to check it.
It seems like the following.
ImageContainer creates ImageClient if ImageBridge exist. It does not depend on ImageLayer. Therefore, if camera preview is rendered to 2 video elements and one element is hidden. The hidden video element does not create ImageLayer, but create ImageClient/ImageHost.
Comment 42•11 years ago
|
||
It makes sense, thank you.
Status: NEW → RESOLVED
Closed: 11 years ago
status-firefox39:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Comment 44•11 years ago
|
||
I am not reproducing the issue anymore in latest FxOS master version, thanks a lot!
Environmental Variables:
Device: Flame Master
Build ID: 20150325071251
Gaia: 3970bcf
Gecko: a2b428e
Platform Version: 39.0a1 (Master)
Firmware Version: v18D
Comment 45•11 years ago
|
||
Tested this on 2.2, and it seems to work well there with no side effects seen. Can we put an uplift request to 2.2?
| Assignee | ||
Comment 46•11 years ago
|
||
Comment on attachment 8581750 [details] [diff] [review]
patch - Call SetCompositor() only when it is valid
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 1043558 triggers the bug.
actual regression is by Bug 1077301.
User impact if declined: user could see camera preview flickering.
Testing completed: locally tested and qa tested.
Risk to taking this patch (and alternatives if risky): low risk.
String or UUID changes made by this patch: none
Attachment #8581750 -
Flags: approval-mozilla-b2g37?
Updated•11 years ago
|
Attachment #8581750 -
Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Comment 47•11 years ago
|
||
Comment 48•11 years ago
|
||
This bug has been successfully verified on latest Nightly Flame v2.2&3.0 by these steps in Comment After prompt "You are the only one in the room" displays,the screen will not flicker.
See attachment: verified_v2.2&3.0.mp4
Reproduce rate: 0/5
Device: Flame 2.2 build(Pass)
Build ID 20150326002504
Gaia Revision e59ac067a1d22b7a72cbebc892ec652723f2a557
Gaia Date 2015-03-26 00:02:53
Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/04b4b9d1faae
Gecko Version 37.0
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150326.042521
Firmware Date Thu Mar 26 04:25:30 EDT 2015
Bootloader L1TC000118D0
Device: Flame 3.0 build(Pass)
Build ID 20150326160206
Gaia Revision 525c341254e08f07f90da57a4d1cd5971a3cc668
Gaia Date 2015-03-26 16:34:16
Gecko Revision https://hg.mozilla.org/mozilla-central/rev/59554288b4eb
Gecko Version 39.0a1
Device Name flame
Firmware(Release) 4.4.2
Firmware(Incremental) eng.cltbld.20150326.193247
Firmware Date Thu Mar 26 19:32:58 EDT 2015
Bootloader L1TC000118D0
Comment 49•11 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•