Closed
Bug 947504
Opened 11 years ago
Closed 11 years ago
[v1.3] Screen colors are off and display blinks
Categories
(Firefox OS Graveyard :: General, defect)
Tracking
(blocking-b2g:1.3+, firefox27 wontfix, firefox28 fixed, firefox29 fixed, b2g-v1.3 fixed, b2g-v1.4 fixed)
People
(Reporter: dmarcos, Assigned: diego)
References
Details
(Keywords: regression)
Attachments
(5 files, 4 obsolete files)
Running the following:
Gaia 64be4c387d839361142975cbac1642c77220669b
Gecko http://hg.mozilla.org/mozilla-central/rev/725c36b5de1a
BuildID 20131205040201
Version 28.0a1
ro.build.version.incremental=eng.wanglei.20131106.235553
Steps to reproduce:
Just use your phone and enjoy the trip
Comment 1•11 years ago
|
||
There's something really weird going on here. Can we find out if this reproduces on 1.1 HD or 1.2?
blocking-b2g: --- → 1.3?
Component: Gaia → Graphics
Keywords: qawanted,
regression
Product: Firefox OS → Core
Reporter | ||
Comment 2•11 years ago
|
||
I don't see the issue in 1.1HD nor 1.2
Updated•11 years ago
|
Keywords: qawanted → regressionwindow-wanted
Updated•11 years ago
|
QA Contact: mvaughan
Comment 3•11 years ago
|
||
This issue looks to have started reproducing on the 12/01 1.3 HD build. Builds before 12/01 seemed to have an issue with colors being distorted at rare occasions, but the 12/01 and later builds reproduce the issue with distorted colors 100% of the time.
- Works -
Environmental Variables:
Device: Helix v1.3 MOZ RIL
BuildID: 20131130040205
Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
Gecko: e9337081c744
Version: 28.0a1
Firmware Version: Y300-F1V100R001C00B004SP01
- Broken -
Environmental Variables:
Device: Buri v1.3 MOZ RIL
BuildID: 20131201040201
Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
Gecko: 84a5a5800bd3
Version: 28.0a1
Firmware Version: Y300-F1V100R001C00B004SP01
Keywords: regressionwindow-wanted
Comment 4•11 years ago
|
||
CJ, does your team have access to this phone so that we can get a tighter regression range?
Flags: needinfo?(cku)
Sure.
Vincent, please figure out which patch cause this regression and the root cause
Flags: needinfo?(cku) → needinfo?(vlin)
Comment 6•11 years ago
|
||
(In reply to Diego Marcos from comment #0)
> Created attachment 8344064 [details]
> Video illustrating the screen issue
>
> Running the following:
>
> Gaia 64be4c387d839361142975cbac1642c77220669b
> Gecko http://hg.mozilla.org/mozilla-central/rev/725c36b5de1a
> BuildID 20131205040201
> Version 28.0a1
> ro.build.version.incremental=eng.wanglei.20131106.235553
>
> Steps to reproduce:
>
> Just use your phone and enjoy the trip
Well, it seems caused by HWComposer.
Please disable it for verification.
(rename or remove hwcomposer.msm7627a.so in system/lib/hw)
Meanwhile, I will also find the phone, code base/binary and then try to verify it.
Flags: needinfo?(vlin) → needinfo?(dmarcos)
Comment 7•11 years ago
|
||
We have a special path in the HWC to swap R and B and maybe the Helix binaries don't have that code?
Comment 8•11 years ago
|
||
(In reply to Matthew Vaughan from comment #3)
> This issue looks to have started reproducing on the 12/01 1.3 HD build.
> Builds before 12/01 seemed to have an issue with colors being distorted at
> rare occasions, but the 12/01 and later builds reproduce the issue with
> distorted colors 100% of the time.
>
> - Works -
> Environmental Variables:
> Device: Helix v1.3 MOZ RIL
> BuildID: 20131130040205
> Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
> Gecko: e9337081c744
> Version: 28.0a1
> Firmware Version: Y300-F1V100R001C00B004SP01
>
> - Broken -
> Environmental Variables:
> Device: Buri v1.3 MOZ RIL
> BuildID: 20131201040201
> Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
> Gecko: 84a5a5800bd3
> Version: 28.0a1
> Firmware Version: Y300-F1V100R001C00B004SP01
Hi, Matthew,
Thanks for your help.
Could I have a request?
Could you please use the same device to find the regression window next time?
If you use the different devices to a reproduce bug, it is difficult to narrow down the root cause.
Also, please provide the correct information.
I think the firmware Version you provided is incorrect.
Thanks.
Comment 9•11 years ago
|
||
HI, all,
After I disabled the HWC (hwcomposer.msm7627a.so), the device works as normal.
This bug also happened on Buri device. We need our partner to help on this problem.
Thanks.
* Test Build:
- Gaia: 1dd0e5c644b4c677a4e8fa02e50d52136db489d9
- Gecko: http://hg.mozilla.org/mozilla-central/rev/725c36b5de1a
- BuildID 20131205040201
- Version 28.0a1
* Actual Result: Can reproduce this bug.
But I cannot reproduce this bug after I removed the hwcomposer.msm7627a.so
Thanks!
Updated•11 years ago
|
Summary: [Helix] Screen colors are off and display blinks → [v1.3] Screen colors are off and display blinks
Comment 10•11 years ago
|
||
(In reply to William Hsu [:whsu] from comment #8)
> (In reply to Matthew Vaughan from comment #3)
> > This issue looks to have started reproducing on the 12/01 1.3 HD build.
> > Builds before 12/01 seemed to have an issue with colors being distorted at
> > rare occasions, but the 12/01 and later builds reproduce the issue with
> > distorted colors 100% of the time.
> >
> > - Works -
> > Environmental Variables:
> > Device: Helix v1.3 MOZ RIL
> > BuildID: 20131130040205
> > Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
> > Gecko: e9337081c744
> > Version: 28.0a1
> > Firmware Version: Y300-F1V100R001C00B004SP01
> >
> > - Broken -
> > Environmental Variables:
> > Device: Buri v1.3 MOZ RIL
> > BuildID: 20131201040201
> > Gaia: f23aebebcd28c4d19347def77c4836c8baebc2ce
> > Gecko: 84a5a5800bd3
> > Version: 28.0a1
> > Firmware Version: Y300-F1V100R001C00B004SP01
>
> Hi, Matthew,
>
> Thanks for your help.
> Could I have a request?
> Could you please use the same device to find the regression window next time?
> If you use the different devices to a reproduce bug, it is difficult to
> narrow down the root cause.
>
> Also, please provide the correct information.
> I think the firmware Version you provided is incorrect.
> Thanks.
Hello William,
Your welcome for the help :).
I do apologize for the mistakes with the regression window though. I meant to write "Helix" and not "Buri" in the Broken build's environmental variables. So the regression window was found using only the Helix device. As for the firmware version, it seems the only one available to us right now, and when the Helix was imaged, is the 10252013 image. I just wanted to make sure this info was in the bug. Sorry again!
Assignee | ||
Comment 11•11 years ago
|
||
Definitely looks like the RB swap issue. Can you please make sure you have the following patch?
https://www.codeaurora.org/cgit/quic/la/platform/hardware/qcom/display/commit/?h=b2g_ics_1.2&id=c8afdc78fc7ca376c43f43d5126fd110c54967cd
You should probably be using the CAF b2g_ics_1.2 branch for hardware/qcom/display on this device:
https://www.codeaurora.org/cgit/quic/la/platform/hardware/qcom/display/log/?h=b2g_ics_1.2
Comment 12•11 years ago
|
||
Yes, and the blinking is probably the other bug you had in CAF where the HWC failed to report back that it wasn't able to compose something and we didn't resort to GPU composition. This device needs an updated base system.
Updated•11 years ago
|
Component: Graphics → Vendcom
Product: Core → Firefox OS
Comment 13•11 years ago
|
||
Wayne - Can you contact our partner to get a 1.3 base image for Helix?
Flags: needinfo?(wchang)
Comment 14•11 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #13)
> Wayne - Can you contact our partner to get a 1.3 base image for Helix?
Will do. Keeping NI for myself to revisit.
Reporter | ||
Updated•11 years ago
|
Flags: needinfo?(dmarcos)
Updated•11 years ago
|
Whiteboard: [POVB]
Updated•11 years ago
|
Flags: needinfo?(wchang)
Comment 16•11 years ago
|
||
Is bug 958460 a dupe?
Comment 17•11 years ago
|
||
(In reply to Kan-Ru Chen [:kanru] from comment #16)
> Is bug 958460 a dupe?
Yes. We actually confirmed that this works fine with hardware composer disabled.
Comment 19•11 years ago
|
||
Turns out per the dupe that this actually is not a vendor bug - it's actually because we're turning the hardware composer on for unsupported devices.
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → dwilson
Assignee | ||
Comment 21•11 years ago
|
||
Assignee | ||
Comment 22•11 years ago
|
||
Assignee | ||
Comment 23•11 years ago
|
||
Assignee | ||
Comment 24•11 years ago
|
||
Assignee | ||
Updated•11 years ago
|
Attachment #8359905 -
Attachment description: Part 2 - gaia patch - m-c - v1 → Part 2 - gaia pull request - m-c - v1
Assignee | ||
Updated•11 years ago
|
Attachment #8359901 -
Flags: review?(kchen)
Assignee | ||
Updated•11 years ago
|
Attachment #8359905 -
Flags: review?(kchen)
Assignee | ||
Comment 25•11 years ago
|
||
The patches above ensure HWC is only enabled by default on devices that fully support it.
Assignee | ||
Updated•11 years ago
|
Status: NEW → ASSIGNED
Comment 26•11 years ago
|
||
Comment on attachment 8359901 [details] [diff] [review]
Part 1 - gecko patch - m-c - v1
Review of attachment 8359901 [details] [diff] [review]:
-----------------------------------------------------------------
::: b2g/app/b2g.js
@@ -279,5 @@
> pref("layers.offmainthreadcomposition.async-animations", true);
> pref("layers.async-video.enabled", true);
> pref("layers.async-pan-zoom.enabled", true);
> pref("gfx.content.azure.backends", "cairo");
> -pref("layers.composer2d.enabled", true);
You probably want to leave this in here and let it default to false.
::: b2g/chrome/content/settings.js
@@ +598,5 @@
> Services.prefs.setBoolPref("layers.draw-borders", value);
> });
> +
> +(function Composer2DSettingToPref() {
> + //layers.composer.enabled can be toggled in three ways
Reformat this a little nicer please:
// layers.composer.enabled can be enabled in three ways. In order of precedence they are:
//
// 1. mozSettings "layers.composer.enabled"
// 2. a gecko pref "layers.composer.enabled"
// 3. presence of ro.display.colorfill prop at the Gonk level
@@ +606,5 @@
> + //Third: ro.display.colorfill gonk prop
> +
> + var req = navigator.mozSettings.createLock().get('layers.composer2d.enabled');
> + req.onsuccess = function() {
> + if(typeof(req.result['layers.composer2d.enabled']) == 'undefined') {
if_( and === instead of ==
@@ +610,5 @@
> + if(typeof(req.result['layers.composer2d.enabled']) == 'undefined') {
> + var enabled = false;
> + if (Services.prefs.getPrefType('layers.composer2d.enabled') == Ci.nsIPrefBranch.PREF_BOOL) {
> + enabled = Services.prefs.getBoolPref('layers.composer2d.enabled');
> + }
} else {, however I think what you really want here is a fresh
if (!enabled) so this only runs if the pref is present, boolean, and false (or not present)
@@ +613,5 @@
> + enabled = Services.prefs.getBoolPref('layers.composer2d.enabled');
> + }
> + else {
> +#ifdef MOZ_WIDGET_GONK
> + if (libcutils.property_get('ro.display.colorfill') == 1) {
=== (you want to use === in JS because == is expensive, it does toString on objects with side effects and what not, which tends to cause hard to debug problems when things go wrong)
@@ +617,5 @@
> + if (libcutils.property_get('ro.display.colorfill') == 1) {
> + enabled = true;
> + }
> + else {
> + enabled = false;
isn't this just enabled = (property_get() === 1)? instead of the if
@@ +622,5 @@
> + }
> +#endif
> + }
> + navigator.mozSettings.createLock().set(
> + {'layers.composer2d.enabled': enabled});
No new line before the { and a space after enabled
Comment 27•11 years ago
|
||
Comment on attachment 8359901 [details] [diff] [review]
Part 1 - gecko patch - m-c - v1
Its all nits so I don't think there is a need to go over this again. Stealing from kchen.
Attachment #8359901 -
Flags: review?(kchen) → review+
Comment 28•11 years ago
|
||
Comment on attachment 8359903 [details] [diff] [review]
Part 1 - gecko patch - 1.3 - v1
Please fix this up as above.
Attachment #8359903 -
Flags: review+
Comment 29•11 years ago
|
||
Comment on attachment 8359905 [details] [review]
Part 2 - gaia pull request - m-c - v1
Don't you want to set that to false instead of removing it?
Comment 30•11 years ago
|
||
(In reply to Andreas Gal :gal from comment #29)
> Comment on attachment 8359905 [details] [review]
> Part 2 - gaia pull request - m-c - v1
>
> Don't you want to set that to false instead of removing it?
I think the design is that it should be removed. The idea is that no preference means use the automatic "does the hardware support it", preference to true means "force on, regardless of what the hardware support is" and false means "force off, regardless of what the hardware support is".
Assignee | ||
Comment 31•11 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #30)
> (In reply to Andreas Gal :gal from comment #29)
> > Comment on attachment 8359905 [details] [review]
> > Part 2 - gaia pull request - m-c - v1
> >
> > Don't you want to set that to false instead of removing it?
>
> I think the design is that it should be removed. The idea is that no
> preference means use the automatic "does the hardware support it",
> preference to true means "force on, regardless of what the hardware support
> is" and false means "force off, regardless of what the hardware support is".
Milan is correct.
Assignee | ||
Comment 32•11 years ago
|
||
Attachment #8359901 -
Attachment is obsolete: true
Attachment #8360061 -
Flags: review+
Assignee | ||
Comment 33•11 years ago
|
||
Attachment #8359903 -
Attachment is obsolete: true
Attachment #8360062 -
Flags: review+
Assignee | ||
Comment 34•11 years ago
|
||
Attachment #8360061 -
Attachment is obsolete: true
Attachment #8360092 -
Flags: review+
Assignee | ||
Comment 35•11 years ago
|
||
Attachment #8360062 -
Attachment is obsolete: true
Assignee | ||
Updated•11 years ago
|
Attachment #8360094 -
Flags: review+
Assignee | ||
Comment 36•11 years ago
|
||
(In reply to Andreas Gal :gal from comment #26)
> Comment on attachment 8359901 [details] [diff] [review]
> } else {, however I think what you really want here is a fresh
>
> if (!enabled) so this only runs if the pref is present, boolean, and false
> (or not present)
>
> @@ +613,5 @@
> > + enabled = Services.prefs.getBoolPref('layers.composer2d.enabled');
> > + }
> > + else {
> > +#ifdef MOZ_WIDGET_GONK
> > + if (libcutils.property_get('ro.display.colorfill') == 1) {
>
The gonk prop should only be queried if the gecko pref does not exist. The gecko pref is has precedence for enabling and disabling HWC, so it shall be honored even if it's false.
All other comments have been addressed.
Updated•11 years ago
|
Attachment #8359905 -
Flags: review?(kchen) → review?(yurenju.mozilla)
Updated•11 years ago
|
Attachment #8359905 -
Flags: review?(yurenju.mozilla) → review+
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 37•11 years ago
|
||
Sounds like this should be in 1.3.
blocking-b2g: 1.3? → 1.3+
Flags: needinfo?(firefoxos-ux-bugzilla)
Comment 38•11 years ago
|
||
https://hg.mozilla.org/integration/b2g-inbound/rev/6cc364f9d1b2
Master: 9e7f488adbc104c36341f2943d74a0e552e86f55
Keywords: checkin-needed
Comment 39•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.3 C2/1.4 S2(17jan)
Comment 40•11 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/f4bc0d1cae6f
v1.3: 0b364cd4d653493ef25d0189674a412ff95582e3
status-b2g-v1.3:
--- → fixed
status-b2g-v1.4:
--- → fixed
status-firefox27:
--- → wontfix
status-firefox28:
--- → fixed
status-firefox29:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•