Closed Bug 1421805 Opened 8 years ago Closed 7 years ago

When typing anything into a VM (virtual machine) launched in a browser window, extra characters appear

Categories

(Web Compatibility :: Site Reports, defect, P3)

Firefox 58
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1504692

People

(Reporter: thee.chicago.wolf, Assigned: stone, NeedInfo)

References

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 SeaMonkey/2.53 Build ID: 20171119140653 Steps to reproduce: I have FF 57.0 x64 installed in Win 7 x64, fully updated. Connection is 70mb/6mb, Asus RT-AC68U, fully updated to latest firmware. I log into a VMware session and launched a VM in a pop-up window. Thought it was related to VMWare bug https://kb.vmware.com/s/article/196 but after applying the fix to my VMs, it made no difference. I went back to test some earlier x64 FF57 Nightlies and found that using the nightly from 2017-09-07-10-03-18-mozilla-central/ worked ok. I then found things to be broken when using the build from 2017-09-07-22-02-12-mozilla-central/. I tested with Portable Chrome 62.0.3202.94 and didn't see the issue. I tested with Portable FF 56 and didn't see the issue. I also tested with 57b3 and the issue was present. I lowered my typematic rate to the lowest it can go and it made no difference, issue still present. Actual results: I attempted to log into the VM via "Send CTRL-ALT-DEL" command and when entering the password, I can see it is adding repeat characters. I eventually am able to log into the VM by using the "reveal password" feature and open notepad. When I type into notepad (or anywhere in the VM), I see characters repeating such as aabcdeefgghhijkkl. It is adding duplicate characters though I am not pressing the keyboard twice, only once. Expected results: Typing should not repeat characters.
Component: Untriaged → Widget: Win32
Product: Firefox → Core
I had a moment to run Mozgression and this is what I found: Last good: app_name: firefox build_date: 2017-09-07 13:24:50.916000 build_file: C:\Users\Art\.mozilla\mozregression\persist\6aa1cc819058--mozilla-inbound--target.zip build_type: inbound build_url: https://queue.taskcluster.net/v1/task/erLrmQIcR8yGUZZXW5lK2g/runs/0/artifacts/public%2Fbuild%2Ftarget.zip changeset: 6aa1cc819058deaa13f85278e2f5970b8ced0998 pushlog_url: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=6aa1cc819058deaa13f85278e2f5970b8ced0998&tochange=52433c05f30628771e15d72f87f51c9383f8372f repo_name: mozilla-inbound repo_url: https://hg.mozilla.org/integration/mozilla-inbound task_id: erLrmQIcR8yGUZZXW5lK2g First bad: app_name: firefox build_date: 2017-09-07 14:34:59.499000 build_file: C:\Users\Art\.mozilla\mozregression\persist\7e21f710ecec--mozilla-inbound--target.zip build_type: inbound build_url: https://queue.taskcluster.net/v1/task/Qpvi9EOZReyJf2YT2Fub9Q/runs/0/artifacts/public%2Fbuild%2Ftarget.zip changeset: 7e21f710ecec4a16f1f23e7489bbb0eb3e45e462 pushlog_url: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=6aa1cc819058deaa13f85278e2f5970b8ced0998&tochange=7e21f710ecec4a16f1f23e7489bbb0eb3e45e462 repo_name: mozilla-inbound repo_url: https://hg.mozilla.org/integration/mozilla-inbound task_id: Qpvi9EOZReyJf2YT2Fub9Q Nothing in the pushlog jumps out at me. Maybe bug 1390044 - Enable the input event queue on nightly
Version: 56 Branch → 57 Branch
I can confirm that flipping pref input_event_queue.supported" to false and restarting the browser fixes this for me. SO bug 1390044 seems to be it.
Flags: needinfo?(sshih)
Just for the purposes of testing, I set input_event_queue.duration.max to 128 thinking the default of 8 was too short but it didn't help.
So, I did further testing of the values of input_event_queue.duration.max and input_event_queue.duration.min. I initially set both max and min to 256 and things worked. I then set max to 64 and min to 32 and this seems to work for the VM I'm using. So, perhaps the default value of 1 for min and 8 for max may be too aggressive and not accounting for lag / latency in a VM or network? Just thinking out loud.
Things worked with max @ 32 and @ 16 but broke when I tried max @ 16 and min @ 8. OMMV (Other's Mileage May Vary).
(In reply to Arthur K. from comment #5) > Things worked with max @ 32 and @ 16 but broke when I tried max @ 16 and min > @ 8. OMMV (Other's Mileage May Vary). Sorry, I meant to say things worked with max @ 32 and min @ 16.
This does affect 58 as well. Track for 58?
Assignee: nobody → sshih
Flags: needinfo?(sshih)
Thanks for testing and providing the information.
Do you know how to set up an environment as you use for testing? It seems I have to find a machine with Windows server and install 'VMware vCenter Server' on it?
Flags: needinfo?(thee.chicago.wolf)
(In reply to Ming-Chou Shih [:stone] from comment #9) > Do you know how to set up an environment as you use for testing? It seems I > have to find a machine with Windows server and install 'VMware vCenter > Server' on it? Therein lies the rub. I am doing a Symantec ITMS training session and it uses some VMs running on labs.partnercloudlab.com's site. I can ask my instructor to reach out to the techs of this site who manage the VMs and see if they can do anything but no guarantee. Additionally, doesn't have to be Windows Server. One of the VMs is a Win 10 x64 VM. Anything you want me to try on my end while I have access to the VMs?
Flags: needinfo?(thee.chicago.wolf)
(In reply to Arthur K. from comment #10) > Therein lies the rub. I am doing a Symantec ITMS training session and it > uses some VMs running on labs.partnercloudlab.com's site. I can ask my > instructor to reach out to the techs of this site who manage the VMs and see > if they can do anything but no guarantee. Additionally, doesn't have to be > Windows Server. One of the VMs is a Win 10 x64 VM. Anything you want me to > try on my end while I have access to the VMs? So far I'm still trying to figure out what's going on and I may need your help if I found something that might cause this problem. Many thanks for your help. I'm also wondering that when the problem happened, there are some extra repeated characters and no characters missing, right?
(In reply to Ming-Chou Shih [:stone] from comment #11) > (In reply to Arthur K. from comment #10) > > Therein lies the rub. I am doing a Symantec ITMS training session and it > > uses some VMs running on labs.partnercloudlab.com's site. I can ask my > > instructor to reach out to the techs of this site who manage the VMs and see > > if they can do anything but no guarantee. Additionally, doesn't have to be > > Windows Server. One of the VMs is a Win 10 x64 VM. Anything you want me to > > try on my end while I have access to the VMs? > > So far I'm still trying to figure out what's going on and I may need your > help if I found something that might cause this problem. Many thanks for > your help. > > I'm also wondering that when the problem happened, there are some extra > repeated characters and no characters missing, right? Yes, that's exactly right. No missing characters, just extra of the same character (i.e. aa, 11, ##, etc.). So, the setting input_event_queue.duration.min, does it take precedence / order of operation before input_event_queue.duration.max? I only ask because in comment 3 I stated that I set input_event_queue.duration.max to 128 and it didn't make any difference. It was only when I increased input_event_queue.duration.min that the issue went away. Makes me think that we're never even making it to input_event_queue.duration.max at all? In which case, input_event_queue.duration=<min value> would seem to make sense. Again, just thinking out loud.
(In reply to Ming-Chou Shih [:stone] from comment #9) > Do you know how to set up an environment as you use for testing? It seems I > have to find a machine with Windows server and install 'VMware vCenter > Server' on it? So my instructor did send a message to the managers of the VMs. We'll see what, if anything, comes of it.
(In reply to Arthur K. from comment #12) > So, the setting input_event_queue.duration.min, does it take precedence / > order of operation before input_event_queue.duration.max? I only ask because > in comment 3 I stated that I set input_event_queue.duration.max to 128 and > it didn't make any difference. It was only when I increased > input_event_queue.duration.min that the issue went away. Makes me think that > we're never even making it to input_event_queue.duration.max at all? In > which case, input_event_queue.duration=<min value> would seem to make sense. > Again, just thinking out loud. input_event_queue.duration.max and min control the at most/least time which we reserved for handling input events before the next paint. Enlarging input_event_queue.duration.min means we could handle the pending input events earlier.
(In reply to Ming-Chou Shih [:stone] from comment #14) > (In reply to Arthur K. from comment #12) > > So, the setting input_event_queue.duration.min, does it take precedence / > > order of operation before input_event_queue.duration.max? I only ask because > > in comment 3 I stated that I set input_event_queue.duration.max to 128 and > > it didn't make any difference. It was only when I increased > > input_event_queue.duration.min that the issue went away. Makes me think that > > we're never even making it to input_event_queue.duration.max at all? In > > which case, input_event_queue.duration=<min value> would seem to make sense. > > Again, just thinking out loud. > >Enlarging input_event_queue.duration.min means we could handle the pending input > events earlier. Taken from the change in the code commit: // The maximum and minimum time (milliseconds) we reserve for handling input // events in each frame. pref("input_event_queue.duration.max", 8); pref("input_event_queue.duration.min", 1); It seems contrary to what you're saying. As I read it, it would seem that *increasing* the input_event_queue.duration.min value adds milliseconds to time before a new paint is done and therefore we handle pending input events later, not earlier. Which makes logical sense as to why adding milliseconds fixed this for me.
(In reply to Arthur K. from comment #10) > (In reply to Ming-Chou Shih [:stone] from comment #9) > > Do you know how to set up an environment as you use for testing? It seems I > > have to find a machine with Windows server and install 'VMware vCenter > > Server' on it? > > Therein lies the rub. I am doing a Symantec ITMS training session and it > uses some VMs running on labs.partnercloudlab.com's site. I can ask my > instructor to reach out to the techs of this site who manage the VMs and see > if they can do anything but no guarantee. Additionally, doesn't have to be > Windows Server. One of the VMs is a Win 10 x64 VM. Anything you want me to > try on my end while I have access to the VMs? Goo news. I am in touch with a Symantec tech person who should be able to help! Please stay tuned.
(In reply to Arthur K. from comment #16) > (In reply to Arthur K. from comment #10) > > (In reply to Ming-Chou Shih [:stone] from comment #9) > > > Do you know how to set up an environment as you use for testing? It seems I > > > have to find a machine with Windows server and install 'VMware vCenter > > > Server' on it? > > > > Therein lies the rub. I am doing a Symantec ITMS training session and it > > uses some VMs running on labs.partnercloudlab.com's site. I can ask my > > instructor to reach out to the techs of this site who manage the VMs and see > > if they can do anything but no guarantee. Additionally, doesn't have to be > > Windows Server. One of the VMs is a Win 10 x64 VM. Anything you want me to > > try on my end while I have access to the VMs? > > Goo news. I am in touch with a Symantec tech person who should be able to > help! Please stay tuned. That's great. Thanks for your help.
Probably no point tracking for 57.
Version: 57 Branch → 58 Branch
Ming-Chou, Reach out to me privately, and I can send you credentials to access this specific lab environment to reproduce the issue.
(In reply to Sean Gale from comment #19) > Ming-Chou, > > Reach out to me privately, and I can send you credentials to access this > specific lab environment to reproduce the issue. Hi Sean, I had sent an email to you and my email account is sshih@mozilla.com. Many thanks for your help.
Priority: -- → P2
Hi Sean, Please remind me when you send me the credentials, in case I miss it. Thanks.
Flags: needinfo?(sean_gale)
Clear ni request since I already got credentials and can reproduce this bug now.
Flags: needinfo?(sean_gale)
This bug is related to the implementation of the web VM console. I can't find any difference of dispatched keyboard events when the problem has happened. Guessing this may be related to the content, which posts async events when handling keyboard events.
See Also: → 1419376
It seems the content setups a timer and appends the character when timeout. If the keypress event is handled after the timeout, then there are double characters.
Wondering maybe someone knows the contact window of VMWare and could help to contact them for this bug?
Component: Widget: Win32 → Desktop
Product: Core → Tech Evangelism
Version: 58 Branch → Firefox 58
Reaching out to a friend that used to work for VMware. Will update when I hear back.
(In reply to Adam Stevenson [:adamopenweb] from comment #26) > Reaching out to a friend that used to work for VMware. Will update when I > hear back. So, 2 months later and no response?
Sorry, didn't hear back from the contact at VMWare.
Can you still reproduce the issue?
Flags: needinfo?(thee.chicago.wolf)
Priority: P2 → P3
I don't have access to the system with the VM since last year so I cannot tell you.
Flags: needinfo?(thee.chicago.wolf)
Just installed firefox esr 60.1.0 and am now getting this double caracter thing again.... The keyboard settings in our Virtual machines have not changed and are still 2 second. Thanks, Dave
(In reply to armisis from comment #31) > Just installed firefox esr 60.1.0 and am now getting this double caracter > thing again.... The keyboard settings in our Virtual machines have not > changed and are still 2 second. > > Thanks, > Dave Does changing the setting as mentioned in comment 5 fix it for you?
Flags: needinfo?(armisis)
(In reply to Arthur K. from comment #32) > (In reply to armisis from comment #31) > > Just installed firefox esr 60.1.0 and am now getting this double caracter > > thing again.... The keyboard settings in our Virtual machines have not > > changed and are still 2 second. > > > > Thanks, > > Dave > > Does changing the setting as mentioned in comment 5 fix it for you? I can confirm this behavior in 62.0.2 with VMware vCenter 6.7GA and yes setting input_event_queue.duration.max to 32 and input_event_queue.duration.min to 16 then restarting the browser did get the VMware HTML5 console to work better.
From VMWare: vCenter 6.7 U1 fixes this and it hit GA today. The release notes and KB articles should be updated soon to reflect this. Please let me know if you get a chance to test.
Apoligies for the forward dupe, but we found the core problem.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.