Closed Bug 1232052 Opened 7 years ago Closed 7 years ago

LastPass: Auto-field fill and icons in form fields jank Firefox for 2 seconds at a time

Categories

(WebExtensions :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: mconley, Unassigned)

References

Details

Saw this on jack's machine during Mozlando.

He had LastPass (the e10s-compatible version) installed, and with IRCCloud open in a tab, noticed ~2 second pauses when he'd switch IRC channels or when he'd focus the chat input.

Pretty awful.

Here is a performance profile. The red region is one of the 2 second hangs. Note that I forgot to request a profile from the content process, but that the parent is not blocked on the content process anyways (so this isn't a CPOW hang, for example);

https://cleopatra.io/#report=7b0c64f7e3bd8c255b0b60b57decb1eebc6ceba1&filter=%5B%7B%22type%22%3A%22RangeSampleFilter%22,%22start%22%3A114519,%22end%22%3A119524%7D%5D&selection=0,1,33,64,4,2425,2426,4,2801,2806,2807,2466,2582
Blocks: e10s-addons
Andy, how do you want to handle this?
Flags: needinfo?(amckay)
In the(In reply to Mike Conley (:mconley) - Needinfo me! from comment #0)

> https://cleopatra.io/
> #report=7b0c64f7e3bd8c255b0b60b57decb1eebc6ceba1&filter=%5B%7B%22type%22%3A%2
> 2RangeSampleFilter%22,%22start%22%3A114519,
> %22end%22%3A119524%7D%5D&selection=0,1,33,64,4,2425,2426,4,2801,2806,2807,
> 2466,2582

Which version has this been taken from, exactly?

We can see something awful happening at line 950 of a lastpass.js file there, but the only lastpass.js file I could find inside https://rodan.lastpass.com/dev/lp_e10s.xpi (which is supposed to be the "e10s compatible dev version" according to bug 1008768 ) is just two lines long (one build_id, one empty).

Also, since they release minified/obfuscated code, could we ensure we're looking at the human-readable version which AMO admins should receive per policy (CCing Jorge to help at that if needed)?
Flags: needinfo?(mconley)
I failed to get jack's version number. needinfo'ing now.

I'll happily gather a profile for a de-obfuscated version of the add-on if I can get a copy.
Flags: needinfo?(mconley)
Flags: needinfo?(jorge)
Flags: needinfo?(jack)
It claims to be 3.2.40 according to the more info link on the extensions page. I can't seem to find any other version numbers poking around in prefs or in the vault screen.
Flags: needinfo?(jack)
(In reply to Jack Moffitt [:jack] from comment #4)
> It claims to be 3.2.40 according to the more info link on the extensions
> page. I can't seem to find any other version numbers poking around in prefs
> or in the vault screen.

3.2.40 is the stable AMO version, a XUL add-on which doesn't claim any e10s compatibility AFAIK.
WONTFIX?
I suspect they didn't change the version number. I finally found tools->about and it says:

Version: 3.2.40
Built: 2015-10-26 13:31:07
Fast Encryption: true (ctypes)

Installed from here: https://bugzilla.mozilla.org/show_bug.cgi?id=1188912#c2
I just reinstalled that same xpi, which has been updated and now reports as 3.2.41. The same behavior occurs.The build date is 2015-10-30 at 11:10:40.
Okay, thanks jack. So we're back to hopefully getting a de-obfuscated copy.
Clearing ni since Giorgio is looking at it.
Flags: needinfo?(amckay)
Andrew, can you provide the sources to Mike, or are you okay with us providing them for you?
Flags: needinfo?(jorge) → needinfo?(drew)
I'd like to get some more information and look into it myself before providing any unobfuscated source:

1) Let's clarify whether we're talking about the XUL-based (non-e10s-compatible) or SDK-based (e10s-compatible) extension.  The initial comment mentions the e10s-compatible extension, but everything I see after that (the performance profile references LastPassContainer, the 3.2.40 and 3.2.41 version numbers, etc) points to the non-e10s-compatible extension.  It's easy to tell the difference; just go to LastPass button -> Tools -> About, and note whether it opens a XUL window or an HTML tab.

2) Does this occur only with e10s enabled, or also with e10s disabled?
Flags: needinfo?(drew)
ni'ing jack for comment 11
Flags: needinfo?(jack)
need info for Andrew's questions in comment 11
Flags: needinfo?(mconley)
1) I downloaded from the URL I gave above, which reports as 3.2.43. It does also report the ctypes thing is 3.2.41. It's possible I misread that before. My apologies. I have been on this special e10s version of lastpass since I filed a previous bug months ago.

2) It turns out I had e10s disabled. I turned it on and this behavior still happens. There is no beachball with e10s since the UI process does not hang, but my IRCCloud window is frozen for multiple seconds whenever I switch chats. If I turn off form field icons, the behavior is normal.
Flags: needinfo?(jack)
Alright, so this doesn't sound like an e10s issue at all then, but a general LastPass performance bug.

Clearing the e10s tag from the summary.
Flags: needinfo?(mconley)
Summary: [e10s] LastPass: Auto-field fill and icons in form fields jank Firefox for 2 seconds at a time → LastPass: Auto-field fill and icons in form fields jank Firefox for 2 seconds at a time
(In reply to Jack Moffitt [:jack] from comment #14)
> 1) I downloaded from the URL I gave above, which reports as 3.2.43. It does
> also report the ctypes thing is 3.2.41. It's possible I misread that before.
> My apologies. I have been on this special e10s version of lastpass since I
> filed a previous bug months ago.
> 
> 2) It turns out I had e10s disabled. I turned it on and this behavior still
> happens. There is no beachball with e10s since the UI process does not hang,
> but my IRCCloud window is frozen for multiple seconds whenever I switch
> chats. If I turn off form field icons, the behavior is normal.

I'm still confused, because "Fast Encryption: true (ctypes)" from comment 6 implies that you were using the XUL-based extension.  Are you switching back and forth between the XUL-based and HTML-based extensions?  Are you able to reproduce on both?
(In reply to Andrew Zitnay from comment #16)
> I'm still confused, because "Fast Encryption: true (ctypes)" from comment 6
> implies that you were using the XUL-based extension.  Are you switching back
> and forth between the XUL-based and HTML-based extensions?  Are you able to
> reproduce on both?

If the previous version string identifies a non-e10s version, then I guess I can reproduce on both. However, here is my current version info cut and pasted (instead of my summarizing) which is shown in a new HTML tab when I go to Lastpass->Tools->About:

Version: 3.2.43
Built: 2015-12-07 10:25:55
Binary Component: true (ctypes version 3.2.41, built Dec 3 2015 13:56:35)

So I have definitely tested on this version and the one in comment 6. Although it seems I tested the one from comment 6 only in non-e10s, and this one in both e10s and non-e10s. All had the same results.
I unfortunately haven't been able to reproduce this so far.  Here are the steps I'm trying:

1) Start Firefox Nightly with LastPass 3.2.43 installed

2) Browse to irccloud.com and login

3) Connect to irc.irccloud.com

4) Join chat rooms named #a and #b

5) Toggle back and forth between #a and #b by clicking on the right

I'm not seeing any slowdown when toggling back and forth between #a and #b.  Are there any more specific steps I should try?
I suspect the size/activity of the IRC rooms matters. For reference, I join these channels on irc.mozilla.org: #rust, #rust-internal, #servo, #servo-bts, #cargo, #research. I suggest starting with just #rust and #servo and switching between them.
Ok, I'm unfortunately still unable to reproduce, even after joining all six channels.

I guess we'll have to debug on your side with an unobfuscated build.  I'd like to keep it as private as possible, though.  What email address can I send a link to?
You can send it to jack@metajack.im.
I have a feeling I know what's causing the problem, and I've attempted a fix.  Please try the newly released 3.2.44a:

https://addons.mozilla.org/en-us/firefox/addon/lastpass-password-manager/versions/beta
ni jack for comment 22
Flags: needinfo?(jack)
By the time I got to testing this again you were already up to 3.2.47a, which I tried today. It does appear to have resolved the issue.
Flags: needinfo?(jack)
Resolving as per comment 24.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Component: Add-ons → General
Product: Tech Evangelism → WebExtensions
You need to log in before you can comment on or make changes to this bug.