Closed Bug 1499163 Opened 6 years ago Closed 6 years ago

Scrolling regression on Fennec Nightly has been really choppy for the past 3 days

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(geckoview62 unaffected, geckoview63 unaffected, geckoview64 fixed, firefox-esr60 unaffected, firefox62 unaffected, firefox63 unaffected, firefox64+ verified, firefox65+ verified)

VERIFIED FIXED
Firefox 65
Tracking Status
geckoview62 --- unaffected
geckoview63 --- unaffected
geckoview64 --- fixed
firefox-esr60 --- unaffected
firefox62 --- unaffected
firefox63 --- unaffected
firefox64 + verified
firefox65 + verified

People

(Reporter: petcuandrei, Assigned: eeejay)

References

Details

(Keywords: regression, Whiteboard: [geckoview:p1])

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

Open a tab with a large page like https://en.m.wikipedia.org/wiki/World_War_II
Try to scroll down.


Actual results:

Scrolling is really really slow. Please see the video https://vimeo.com/user43268556/review/295233814/27261ebd5f


Expected results:

It should have scrolled fast. In the video Beta scrolls fast.
Fixed the links https://vimeo.com/295233814
What device is this?
Flags: needinfo?(andreip)
OnePLus2, LineageOS 14.1 (based on Android 7.1.2)
Flags: needinfo?(andreip)
Hello and thank you for your report,

Tried to reproduce this on a OnePlus 2 running OxygenOS 3.6.0, 3.6.1 being the latest for OnePlus 2 devices,  seeing as LineageOS does not come by default with the device you should file a bug with the OS developers as FF works perfectly fine with official builds of Android.

@Kevin do you have any extra input here?
Flags: needinfo?(kbrosnan)
OS: Unspecified → Android
Hardware: Unspecified → ARM
Botond landed some changes that are nightly only. He should have a look at this bug.
Flags: needinfo?(kbrosnan) → needinfo?(botond)
andreip, if this is easy to reproduce, can you get a regression window? A few different changes landed recently and it would help to identify which one caused this.
Flags: needinfo?(andreip)
How can I get a regression window? Are any docs on this?
Flags: needinfo?(andreip)
Use mozregression, assuming Linux from comment 0.

* Set your phone to accept USB debugging connections via Android's "Developer options" in the settings
* download and install the android platform tools for your operating system https://developer.android.com/studio/releases/platform-tools or use your distro provided source for Android developer's "adb"
* confirm that "adb devices" returns your phone's information See https://wiki.archlinux.org/index.php/Android_Debug_Bridge for useful debugging info if it does not work. Common issues is not adding the udev rules or accepting the user prompt on the phone.

Once you have the phone connected via adb then install mozregression 

* pip install mozregression (in venv or virtualenv if you want)
* mozregression -n fennec -g 2018-09-15

* answer good or bad for the build
* the next build to test will be downloaded automatically
* once the bisection is done you should be down to a single checkin paste the last 5 or so lines of the bisection that shows the regressing bug. 

If you run into issues email me directly at my user name at mozilla com
It seems unlikely that this is related to bug 1457586. Bug 1457586 affects flings only, that is, the behaviour after the user's finger leaves the screen.

In the video from comment 1, you can't see the user's finger, but the scrolling is choppy right from the start of the scroll, when presumably the user's finger is still in contact with the screen.
Flags: needinfo?(botond)
I ran it twice with these params "mozregression -n fennec -g 2018-09-10". This is what I got on both runs:

21:37.76 INFO: Last good revision: 7a2f29bbe2a8b484893efffb8f032b53f1794766
21:37.76 INFO: First bad revision: d41905041ca7f615f90fce70e1de3c325e490c44
21:37.76 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=7a2f29bbe2a8b484893efffb8f032b53f1794766&tochange=d41905041ca7f615f90fce70e1de3c325e490c44
Damn... mozregression pretty much nuked my Firefox Nightly profile which I use as my daily driver. Any chance I can get it back somehow?
Thanks for finding the regression range! But sadly, no, mozregression overwrites the Nightly install and the way Android apps works, that means the profile is gone. If you have Firefox Sync enabled on that profile you can recover whatever was synced.
Eitan, regression range points to you, can you take a look?
Blocks: 1479037
Flags: needinfo?(eitan)
Andre,

It seems like you may have an accessibility service running, do you know which one? You can see that in settings->accessibility.

The current state in nightly is not optimized, so there can definitely be slowdowns with some services, it would be helpful to know which ones cause this.
Flags: needinfo?(eitan) → needinfo?(andreip)
I'm using Keepass2Android which seems to need a11y. https://play.google.com/store/apps/details?id=keepass2android.keepass2android&hl=en

I disabled it and Firefox scrolls really fast.

I disabled this feature, still seems to work following my workflow (I'm still on an old Android version and I use Keepass2Android as a separate keyboard app when I want to enter users/passwords)

Is there a bug following a11y optimizations? I might need to enable it in the future and I want to track the progress of this feature.
Flags: needinfo?(andreip)
Does this still affect 64?
Flags: needinfo?(eitan)
No longer blocks: 1457586
Looks like this specific service traverses the entire document tree on each accessible scroll event (this happens every 100ms while scrolling).

I'm going to introduce some caching for this kind of use case soon, and I hope we can back port it to 64.


https://github.com/PhilippC/kp2a_accservice_autofill/blob/master/Kp2aAccServiceLib/app/src/main/java/keepass2android/autofill/AutoFillService.java#L204
Flags: needinfo?(eitan)
Just to add that I've been seeing this on a stock OnePlus3, and to work around, setting layout.frame-rate (or something like that) to 60, basically fixes the smoothness, but doesn't fix that the scrolling is really tricky (frequently takes off in the wrong direction or doesn't fling properly).
Do you have an accessibility service enabled? That might be another issue.
Flags: needinfo?(chrislord.net)
I also had the same issue: I scroll down but it goes up. It started to appear with the choppy scroll. It dissapeared after disabling a11y. It showed up in most of the bad commits marked in mozregression. I think it might be related to this.
(In reply to Eitan Isaacson [:eeejay] from comment #19)
> Do you have an accessibility service enabled? That might be another issue.

I do, for bitwarden password filling.
Flags: needinfo?(chrislord.net)
Eitan, I'm assigning this bug to you for now because this looks like a regression from bug 1479037.
Assignee: nobody → eitan
My plan is to remove all blocking and synchronous calls by implementing a couple of caching schemes. Once those land and are enabled, we'll check in on this bug to see if the experience has improved.

More in bug 1479039 and bug 1502187.
Depends on: 1479039, 1502187
Status of this bug?
Flags: needinfo?(eitan)
Patches are up in bug 1479039, after that a followup to enable caching and this should be resolved.
Flags: needinfo?(eitan)
We are getting some reports of scrolling issues on Fennec, and if this may be one cause we could consider uplift to 64 beta.
Depends on: 1506709
Whiteboard: [geckoview] → [geckoview:p1]
(In reply to Eitan Isaacson [:eeejay] from comment #26)
> Patches are up in bug 1479039, after that a followup to enable caching and
> this should be resolved.

Should we resolve this bug or we waiting for 1506709?
Flags: needinfo?(eitan)
Andrie,

Can you give this a try on a recent a nightly build? I think this issue should be resolved.
Flags: needinfo?(eitan) → needinfo?(andreip)
it is fixed. I have both keepass and bitwarden accessibility enabled. no issues.
Flags: needinfo?(andreip)
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
The relevant patches were uplifted to 64 last week, so calling this bug fixed for that release. We should get some QA testing to confirm, though.
Flags: qe-verify+
@andreip could you help us by checking on Beta as well? Since we were not able to reproduce the issue on the devices we had on hand.

You can download the beta build from here: http://archive.mozilla.org/pub/mobile/candidates/64.0b13-candidates/build1/android-api-16/multi/
You need to download the .apk file.

Thanks in advance!
Flags: needinfo?(andreip)
The beta build works great on my phone! Thank you!
Flags: needinfo?(andreip)
status-geckoview64=fixed
Device:
 - Samsung Galaxy S9 (Android 8.0.0)

I couldn't reproduce this issue and based on Andreip Comment 33 I remove the qe-verify and I Verify this issue as fixed in the latest Beta build 64.0b15 build2(2018-12-03).
Flags: qe-verify+
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.