Closed Bug 986681 Opened 6 years ago Closed 2 years ago

Contact app scrolling shows white screen occasionally

Categories

(Firefox OS Graveyard :: Gaia::Contacts, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: tkundu, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: perf, Whiteboard: [c=handeye p= s= u=])

Attachments

(3 files)

Reference Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=942750#c0

STR:
1) Flash v1.4 FFOS build on device
2) Use |make reference-workload-heavy| to load contacts on device.
3) make sure that APZ is turned on for All gaia app in your device
4) Try to scroll contact app as fast as possible on 800x480 display device.
5) You will see white screens occasionally.

Max size 10MB is tool small for video attachment. I can still compress and upload a video if needed.
blocking-b2g: --- → 1.4?
OS: Linux → Gonk (Firefox OS)
blocking-b2g: 1.4? → 1.4+
Keywords: perf
triage: bkelly, please update this bug with the previous contacts scrolling efforts. Thanks!
Flags: needinfo?(bkelly)
Whiteboard: [c=effect p= s= u=]
Whiteboard: [c=effect p= s= u=] → [c=handeye p= s= u=1.4]
Looks like APZC and checkerboarding
change component
Component: Gaia::Contacts → Panning and Zooming
Product: Firefox OS → Core
(In reply to Joe Cheng [:jcheng] from comment #3)
> Looks like APZC and checkerboarding
> change component

Joe, what are you basing this on?  Our profiles are showing that the content is not produced fast enough, and that graphics is ready to paint, and there is nothing ready to paint.
Component: Panning and Zooming → Gaia::Contacts
Product: Core → Firefox OS
I agree with Milan this is mainly an app issue.  We have some large changes we want to make, but those won't be ready for 1.4.

There are also some smaller improvements that might help.  The ni? here is for me to collect those in the bug here.  I'm travelling at the moment, but will do this first thing next week.

We should be prepared for some checkerboarding in contacts, though.
Vivien, is there something we can do ? Thanks
Flags: needinfo?(21)
Duplicate of this bug: 990788
(In reply to David Scravaglieri [:scravag] from comment #6)
> Vivien, is there something we can do ? Thanks

Ben and Kelly are spending a lot of efforts already to change the current list strategy in this app. One small thing could be to remove position: sticky as well, as I found out that it create some checkerboarding on sms and the call log. It won't fix everything but may help with some of the cases.

I have a patch that does that, I just need to add a few tests to it now.
Flags: needinfo?(21)
(In reply to Vivien Nicolas (:vingtetun) (:21) from comment #8)
> I have a patch that does that, I just need to add a few tests to it now.

Please do!  I've been asking for this for a while.  (Sorry Kevin)
Assigning Vivien per Comment 8
Assignee: nobody → 21
We should consider uplifting bug 982205 to v1.4 branch to help here.
Depends on: 982205
Flags: needinfo?(bkelly)
It seems that we might also be able to avoid hitting bug 981899.  I think the platform is smarter about not displaying images off-screen now, so perhaps window.stop() is no longer necessary.
Depends on: 981899
Comment 12 should reference bug 982279 instead.
Depends on: 982279
No longer depends on: 981899
Although we still probably want bug 981899 to help with our scrolling here.
Depends on: 981899
Given that we have often seen text issues showing up in contacts while scrolling/painting, I think we might want bug 987408 in 1.4 as well.
Depends on: 987408
(In reply to David Scravaglieri [:scravag] from comment #10)
> Assigning Vivien per Comment 8

I didn't say that removing the sticky header will solve all the white screen issue. This bug sounds more like a meta to me or a kind of duplicate of bug 982210 where there is already the bug referenced by Ben.

Unassigning myself...
Assignee: 21 → nobody
Ben

Can you please assign this issue to yourself?
Flags: needinfo?(bkelly)
Please also verify if fixing bug 987408 fixes this issue as well
I would like to, but I currently have 1.3+ and 1.3t+ blockers on my plate.  I won't realistically have time to work on this until those are complete.

Also, I would not expect any single bug, like bug 987408, to fix this.  The various bugs I linked may help, but are unlikely to completely remove checkerboarding.
Flags: needinfo?(bkelly)
Drop the dependency on bug 987408 for now.  It turns out we also need bug 921858 for that fix.  Since that's a bigger change, though, I think we should investigate its impact on contacts before requesting uplift.
Depends on: 921858
No longer depends on: 987408
Triage: Mason please test if bug 921585 and bug 987408 together reduce checkerboarding on 1.4.
Flags: needinfo?(mchang)
Minusing from 1.4 per comment 5 and bug 982205 comment 8. Per Ben Kelly, the linked blocking issues should help to improve checkerboarding if uplifted to 1.4. Blocking on 1.5 since the correct fix for this is the Contacts app rewrite that's occurring.
blocking-b2g: 1.4+ → 1.5+
Whiteboard: [c=handeye p= s= u=1.4] → [c=handeye p= s= u=1.5]
Flags: needinfo?(mchang)
From the two videos, it looks like 921585 & 987408 help recover a bit quicker when we checkerboard. It takes a while to checkerboard, but when we do, we can't recover until we slow down the scrolling. Also note, that I let the contacts app load for a while before scrolling. If I scroll while doing just right after contacts start appearing from adding the contacts via make reference-workload-heavy, we checkerboard a lot. 

Ben: Please check out the videos and see if it improves to you or I'm just not imaging things. If so, we can uplift these two patches. I think it's better to use engineering effort to try to fix this the right way with the virtual list.
Flags: needinfo?(bkelly)
The second video actually looks worse to me than the first.  Did you get them reversed? :-)

A question I have is if Tapas is waiting for the load to complete or not.  Maybe we are optimizing the wrong thing here.

Tapas, can you clarify if you waited at all for the contacts to load in the steps listed in comment 0?
Flags: needinfo?(bkelly) → needinfo?(tkundu)
(In reply to Ben Kelly [:bkelly] from comment #26)
> The second video actually looks worse to me than the first.  Did you get
> them reversed? :-)
> 
> A question I have is if Tapas is waiting for the load to complete or not. 
> Maybe we are optimizing the wrong thing here.
> 
> Tapas, can you clarify if you waited at all for the contacts to load in the
> steps listed in comment 0?

Yes, I waited all contacts to be loaded . I have given 30seconds to load.
Flags: needinfo?(tkundu)
Whiteboard: [c=handeye p= s= u=1.5] → [c=handeye p= s= u=2.0]
Milan

did you believe this can move to 1.4? Please make adjustments if it should be in 1.4
Flags: needinfo?(milan)
There is a bit of a convoluted dependency here.  Bug 921858, bug 987408 are both in conversation as to getting uplifted to 1.4, Fabrice is about to answer that.  Knowing the answers to those two will help us evaluate if the rest of the work in this bug is appropriate for 1.4.
Flags: needinfo?(milan)
Fabrice

Please provide your inputs for uplift into 1.4
Flags: needinfo?(fabrice)
Mike

This is needed for 1.4 CS. Sounds like it was a mistake to move to 1.5 (2.0), can you please move it back to 1.4+
Flags: needinfo?(mlee)
Preeti,
We need Fabrice's response to Milan's comment 29. If those bugs improve checkerboarding this bug 986681 may no longer block 1.4 and can be addressed by the contacts rewrite in 2.0.

Fabrice,
Please comment.
Flags: needinfo?(mlee)
The fixes in bug 921858 and bug 987408 gave the expected results for me, but I'm not sure how risky they are (especially 921858). I asked the people owning this code to chime in.
Flags: needinfo?(fabrice)
Tapas,

Can you please test the patch in bug 921858 and bug 987408 to see if this issue is fixed?

Based on your results we'll decide uplift to 1.4 or not.
Flags: needinfo?(tkundu)
(In reply to Preeti Raghunath(:Preeti) from comment #34)
> Tapas,
> 
> Can you please test the patch in bug 921858 and bug 987408 to see if this
> issue is fixed?
> 
> Based on your results we'll decide uplift to 1.4 or not.

No Issue is not fully fixed. I used |make reference-workload-heavy| to put all contacts on sdcard and tested ONLY after contacts are fully loaded. But white screen comes less frequently with this patch. You really have to spend 10 minutes for scroll testing on device to see this issue again .

Device Used: QRD msm8x26. 
Build: FFOS v1.4 tip as of today.
Flags: needinfo?(tkundu)
(In reply to Tapas Kumar Kundu from comment #35)
> (In reply to Preeti Raghunath(:Preeti) from comment #34) 
> > Can you please test the patch in bug 921858 and bug 987408 to see if this
> > issue is fixed?
>
> But white screen comes less frequently with this patch. You really have to spend
> 10 minutes for scroll testing on device to see this issue again .

This suggests to me we that we should uplift these bugs even if they are not a complete fix by themselves.  I'll go nom bug 921858 now.
If we can get bug 921858 uplifted, then I hope we can satisfy v1.4 needs for our partners.  Checkerboarding after 10 minutes scrolling at our heaviest workload seems like much less of an issue.

To truly close this out we probably need the contacts rewrite.  Francisco, do we have a bug for the work that you and Jose are doing now to move us in that direction?
Flags: needinfo?(francisco.jordano)
(In reply to Ben Kelly [:bkelly] from comment #37)

> To truly close this out we probably need the contacts rewrite.  Francisco,
> do we have a bug for the work that you and Jose are doing now to move us in
> that direction?

Hi Ben, the work for the Data Refactor in Contacts application is covered under this Meta bug 968098
Thanks Maria!
Depends on: 968089
Flags: needinfo?(francisco.jordano)
Depends on: 968098
No longer depends on: 968089
Preeti -- checked with perf team and we are okay uplifting bug 921858 for v1.4 and remaining work to be done in 2.0. I will keep the CS blocker here till the uplift happens in bug 921858.
triage: this is turning into a meta bug, and a meta bug also blocks this bug. let's not block on a meta-ish bug
blocking-b2g: 2.0+ → ---
Whiteboard: [c=handeye p= s= u=2.0] → [c=handeye p= s= u=]
No longer blocks: 984663
Depends on: 1002992
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.