microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.63k stars 29.04k forks source link

Mouse flicking back and forth causing vscode to hang #146993

Open Alizter opened 2 years ago

Alizter commented 2 years ago

Does this issue occur when all extensions are disabled?: Unknown yes

Steps to Reproduce:

Reproduction case: https://github.com/microsoft/vscode/issues/146993#issuecomment-1131470956

I have no idea how to reproduce, I was clicking around in the file explorer when my mouse started flickering, including an icon on the side. it completely locked up and I had to terminate the process. When terminating it didn't respond to the kill signal, so I had to force it to close.

It seems there is a back-and-forth race condition for setting the pointer style somewhere.

Here is a GIF demonstrating the behaviour observed:

flickering_mouse

Note that the speed of the flickering was much faster, and it is due to my recording software that you cannot see it flicker fast regularly. I am in fact trying to click on different parts of the application, but as you can see no click is getting through.

Speykious commented 2 years ago

I have the same problem here on Arch Linux with KDE (X11). It happens after coding for a while, I also have no idea how, and I am forced to kill the process to reopen it again.

Alizter commented 2 years ago

@deepak1556 Any progress with this? It is happening quite often for me now.

Alizter commented 2 years ago

@joaomoreno I have experienced this crash 10 or so times this week. Is there anything I can do to help you lot collect data on when this happens so that you can debug it?

Alizter commented 2 years ago

ping

deepak1556 commented 2 years ago

@Alizter sorry for the delay on this issue, it slipped my notifications. Can you help provide the following data to further debug this issue,

1) Can you provide crash dump following the steps at https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-and-symbolicating-local-crash-reports 2) Does the issue happen when you run with --disable-extensions ? 3) Does the issue happen with latest insiders that comes with a newer runtime https://code.visualstudio.com/insiders/ ?

Alizter commented 2 years ago

@deepak1556 Will this work when things are closed manually? When this situation happens I have to kill the process myself since VSCode is unresponsive.

deepak1556 commented 2 years ago

It should generate a core dump if you try terminating the process with kill -3 <pid>

Alizter commented 2 years ago

@deepak1556 I've managed to reproduce the issue with --disable-extensions however --crash-reporter-directory doesn't seem to output anything useful when I do kill -3.

├── attachments
├── client_id
├── completed
├── new
├── pending
└── settings.dat

4 directories, 2 files
Alizter commented 2 years ago

@deepak1556 OK I managed to reproduce it:

code  --crash-reporter-directory /home/ali/vscode/ --disable-extensions
kill -3 204427

Here is the debug dir: vscode.tar.gz

To reproduce in the UI yourself you have to click the different tabs where the extensions should be on and off in random places. After around 5min avg of clicking I get locked in.

deepak1556 commented 2 years ago

Can you also launch with code --verbose and provide the output when the hang happens.

Alizter commented 2 years ago

My hand is starting to hurt from clicking now, but here you go.

code_log.tar.gz

Alizter commented 2 years ago

Also if it helps, the memory usage of the process goes up about a MB a second, which if left noticed can be very large.

Occasionally when I have been in the lock, I have been able to click frantically the same way I do to produce it and it gets me out. However after some time this becomes impossible, presumably due to the amount of requests that VSCode ends up having to process.

deepak1556 commented 2 years ago

Can you check if the issue repros with code --disable-gpu ? I am unable to repro the issue on my Gnome session will setup Xfce to confirm.

Alizter commented 2 years ago

Managed to reproduce it:

 code  --crash-reporter-directory /home/ali/vscode/ --disable-extensions --disable-gpu  --verbose > code_log

code_log.tar.gz vscode.tar.gz

This time it was a little different however. Now my pointer wouldn't work at all outside the window. I had to use the keyboard to navigate.

I've also gotten better at triggering it. Next to the extension buttons there is a draggable bar which lets you drag out the extension window. You need to click very near to that and the button multiple times and when it starts flickering, stop clicking and it will lock.

@deepak1556 Would you like to continue on discord or something? This bug is very particular to reproduce, perhaps I can help out by showing you exactly what I am doing.

Speykious commented 2 years ago

Managed to reproduce it:

 code  --crash-reporter-directory /home/ali/vscode/ --disable-extensions --disable-gpu  --verbose > code_log

code_log.tar.gz vscode.tar.gz

This time it was a little different however. Now my pointer wouldn't work at all outside the window. I had to use the keyboard to navigate.

I've also gotten better at triggering it. Next to the extension buttons there is a draggable bar which lets you drag out the extension window. You need to click very near to that and the button multiple times and when it starts flickering, stop clicking and it will lock.

@deepak1556 Would you like to continue on discord or something? This bug is very particular to reproduce, perhaps I can help out by showing you exactly what I am doing.

I just tried your command and have managed to reproduce the bug as well with your method, 3 times in a row. I'll try to avoid it while waiting for it to be fixed, but this is so weird and random that I don't know how to avoid it.

Alizter commented 2 years ago

@Speykious What is your system info, I'm curious if we have any overlap?

Speykious commented 2 years ago

@Speykious What is your system info, I'm curious if we have any overlap?

I use Arch Linux with KDE. Here's some more precise information just in case

Info Value
Distro Arch Linux x86_64
Kernel Linux 5.17.8-arch1-1
DE Plasma 5.24.5
WM KWin
CPU AMD Ryzen 9 5900HX with Radeon Graphics (16) @ 3.3GHz
GPU AMD ATI Radeon RX 6700/6700 XT/6750 XT / 6800M
Memory 16 GB
ttonyh commented 2 years ago

I'm using Arch Linux / XFCE and have seen this same issue in Chrome as well (on github.com Pull Requests page). If my cursor hovers over the wrong element at the wrong time, I get the flickering that can only be stopped by killing Chrome. It has been a few weeks since the last time I've seen it in Chrome but I see it multiple times a day in vscode.

Using latest version of both with an up-to-date OS.

Alizter commented 2 years ago

More info: When this bug happens it freezes all VSCode Windows. Is this because the renderer is shared across all of them?

ArvinSKushwaha commented 2 years ago

I am using Garuda Linux + KDE and I've had this experience as well, though I am experiencing this every half hour or so.

pidement commented 2 years ago

I have the same problem too.

I have a 240 fps monitor and since it can be a visual problem, it may be because of the fps. Who has been able to reproduce it, how many fps do they have?

Speykious commented 2 years ago

I indeed didn't mention it but my laptop has a 300 Hz Full HD screen.

Alizter commented 2 years ago

I am using 60Hz monitor. And using an Nvidea GPU. However since this problem has been reproduced on an ATI GPU, I don't think it is the cause.

Alizter commented 2 years ago

@deepak1556 If you have some time, would you like to debug this together? I can fairly consistently trigger it now.

caelanreid commented 2 years ago

This is happening to me and my colleague on vscode 1.68.1 and ubuntu 20.04.4, we both have 120hz monitors, nvidia gpus

jgartor commented 2 years ago

Same problem here, even with GPU acceleration disabled. It also happens on clean install with no extensions.

My system is:

Info Value
Distro Kubuntu 22.04
Kernel Linux 5.15.0-40-generic
DE Plasma 5.24.4
Graphics Platform X11
CPU 16 × AMD Ryzen 7 4800H with Radeon Graphics
GPU AMD RENOIR / AMD Radeon RX 5500M
Memory 16 GB
channeladam commented 2 years ago

Same issue, all instance of code are unresponsive. vscode 1.69.0, Manjaro/Arch, Linux 5.18.6, Nvidia GPU. KDE / Plasma 5.24.5, AMD Ryzen 5900 series CPU

rustyx commented 2 years ago

Same issue here on Debian 11 Linux x64 5.10 with KDE Plasma 5.20.5. VSCode 1.69.0 Using nvidia 1050 gpu and nvidia driver 515.

During the freeze top shows Xorg and 2 code processes using a lot of CPU:

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                              
   1477 root      20   0   25.9g 327536 264808 S  70.8   2.0 146:04.54 Xorg
1184403 user      20   0   38.7g 404076 162660 R  70.4   2.5   0:57.93 code
1184355 user      20   0   20.8g 229040 121220 S  61.8   1.4   0:24.69 code

There was some activity visible in strace and gdb but I couldn't make anything of it.

josiah47 commented 2 years ago

Happening for me too. VSCodium.

Version: VSCodium 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-29T12:35:34.859Z) OS Version: Linux x64 5.17.15-1-MANJARO CPUs: Intel(R) Core(TM) i5-10400H CPU @ 2.60GHz (8 x 2600) Memory (System): 15.33GB (2.14GB free) Load (avg): 0, 0, 1 VM: 0% Screen Reader: no Process Argv: --ms-enable-electron-run-as-node

Version: 1.68.1 Commit: 30d9c6cd9483b2cc586687151bcbcd635f373630 Date: 2022-06-29T12:35:34.859Z Electron: 17.4.7 Chromium: 98.0.4758.141 Node.js: 16.13.0 V8: 9.8.177.13-electron.0 OS: Linux x64 5.17.15-1-MANJARO

code2be commented 2 years ago

Same issue.

Version: 1.69.2 Commit: 3b889b090b5ad5793f524b5d1d39fda662b96a2a Date: 2022-07-18T16:14:10.636Z Electron: 18.3.5 Chromium: 100.0.4896.160 Node.js: 16.13.2 V8: 10.0.139.17-electron.0 OS: Linux x64 5.15.0-43-generic

congard commented 2 years ago

Same issue. Fedora 36, X11, AMD.

2022-08-01 17-59-19 (1)

Version: 1.69.2 Commit: 3b889b090b5ad5793f524b5d1d39fda662b96a2a Date: 2022-07-18T16:14:10.636Z Electron: 18.3.5 Chromium: 100.0.4896.160 Node.js: 16.13.2 V8: 10.0.139.17-electron.0 OS: Linux x64 5.18.13-200.fc36.x86_64

Alizter commented 2 years ago

@deepak1556 Hi any update with this? Many more users have come forward experiencing this issue.

pbwolf commented 2 years ago

Me too. I'm trying to use VS Code version 1.69.0, in Red Hat Linux with XFCE.

claudiobame commented 2 years ago

Same issue with CentOS Linux 7 KDE 4.14.8

Version: 1.67.2 Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5 Date: 2022-05-17T18:23:40.286Z Electron: 17.4.1 Chromium: 98.0.4758.141 Node.js: 16.13.0 V8: 9.8.177.13-electron.0 OS: Linux x64 3.10.0-957.el7.x86_64

Speykious commented 2 years ago

Thought I'd give an update on how to reproduce this bug. Turns out you don't even need to click anywhere. Just do the following:

https://user-images.githubusercontent.com/13885008/183107718-52f0c08e-fb83-4cca-ab1d-47c99199968d.mp4

Things to note in my case:

congard commented 2 years ago

It seems like disabling hardware acceleration solved the issue for me. To disable it, open command palette Ctrl+Shift+P, type Preferences: Configure Runtime Arguments, paste "disable-hardware-acceleration": true and restart VSCode

Speykious commented 2 years ago

It seems like disabling hardware acceleration solved the issue for me. To disable it, open command palette Ctrl+Shift+P, type Preferences: Configure Runtime Arguments, paste "disable-hardware-acceleration": true and restart VSCode

I tried this and can still reproduce the bug as per my comment above. Can you try to do that as well?

vignesh0025 commented 2 years ago

Disabling hardware-acceleration fixed this issue for me :-)

congard commented 2 years ago

It seems like disabling hardware acceleration solved the issue for me. To disable it, open command palette Ctrl+Shift+P, type Preferences: Configure Runtime Arguments, paste "disable-hardware-acceleration": true and restart VSCode

I tried this and can still reproduce the bug as per my comment above. Can you try to do that as well?

I can't reproduce this issue in any way after disabling hardware acceleration (or maybe I'm just lucky?). This issue was happening to me randomly, and after enabling hardware acceleration I can't reproduce it even on higher zoom levels.

channeladam commented 2 years ago

Unfortunately I can still reproduce the issue when hardware acceleration is disabled.

claudiobame commented 2 years ago

It seems like disabling hardware acceleration solved the issue for me. To disable it, open command palette Ctrl+Shift+P, type Preferences: Configure Runtime Arguments, paste "disable-hardware-acceleration": true and restart VSCode

I can still reproduce the issue as well when disabling hardware acceleration

congard commented 2 years ago

It seems like disabling hardware acceleration solved the issue for me. To disable it, open command palette Ctrl+Shift+P, type Preferences: Configure Runtime Arguments, paste "disable-hardware-acceleration": true and restart VSCode

I can still reproduce the issue as well when disabling hardware acceleration

Well, just caught this issue too :(

morn-0 commented 2 years ago

Thought I'd give an update on how to reproduce this bug. Turns out you don't even need to click anywhere. Just do the following:

  • make sure the sidebar is extended

  • hover over an icon of the sidebar

  • start moving slowly to the tip of the hover hint

  • observe

    vscode-flick.mp4 Things to note in my case:

  • I could not reproduce it on zoom level 0 or below. Zoom levels 1 and 2 reproduce this bug. Try to increase the zoom level to see if it happens.

  • From this first point, weirdly enough, staying on zoom level 0 seems to remove this issue, but then it's annoying not being able to use other zoom levels without taking that risk of freezing.

  • Disabling hardware acceleration didn't change anything.

  • I built (yarn) and ran (./scripts/code.sh) VSCode from source and couldn't reproduce the bug. The pointer does flick back and forth, but only when it stays still; as soon as I move it a few pixels more it stops flicking. Also, the pointer flicking doesn't block any shortcuts unlike in this demo.

After triggering the blinking taskbar right click vscode and then mouse mouse move to the right click option to move and keep the right click does not release about a few seconds will lift the blinking

morn-0 commented 2 years ago

Thought I'd give an update on how to reproduce this bug. Turns out you don't even need to click anywhere. Just do the following:

  • make sure the sidebar is extended
  • hover over an icon of the sidebar
  • start moving slowly to the tip of the hover hint
  • observe

vscode-flick.mp4 Things to note in my case:

  • I could not reproduce it on zoom level 0 or below. Zoom levels 1 and 2 reproduce this bug. Try to increase the zoom level to see if it happens.
  • From this first point, weirdly enough, staying on zoom level 0 seems to remove this issue, but then it's annoying not being able to use other zoom levels without taking that risk of freezing.
  • Disabling hardware acceleration didn't change anything.
  • I built (yarn) and ran (./scripts/code.sh) VSCode from source and couldn't reproduce the bug. The pointer does flick back and forth, but only when it stays still; as soon as I move it a few pixels more it stops flicking. Also, the pointer flicking doesn't block any shortcuts unlike in this demo.

After triggering the blinking taskbar right click vscode and then mouse mouse move to the right click option to move and keep the right click does not release about a few seconds will lift the blinking

e.g

image

https://user-images.githubusercontent.com/90960002/183557919-e01bf55a-68c3-4b5c-8c50-f26e9e0a98f4.MP4

ShamrockLee commented 2 years ago

The issue is relevant here for a long time already.

Screenshot_20220809_220443

https://user-images.githubusercontent.com/44064051/183673210-b5d7e440-407f-4305-957a-48e1ef22291d.mp4

ShamrockLee commented 2 years ago

After triggering the blinking taskbar right click vscode and then mouse mouse move to the right click option to move and keep the right click does not release about a few seconds will lift the blinking

It works for me. In my case, just right click the VSCode on the taskbar and hover to the pop-up menu for a few seconds, and you will be able to calm the icon and the mouse cursor down. No neeed to hold the right-click button here.

morn-0 commented 2 years ago

After triggering the blinking taskbar right click vscode and then mouse mouse move to the right click option to move and keep the right click does not release about a few seconds will lift the blinking

It works for me. In my case, just right click the VSCode on the taskbar and hover to the pop-up menu for a few seconds, and you will be able to calm the icon and the mouse cursor down. No neeed to hold the right-click button here.

Yes, I found it too

mrcsh commented 2 years ago

I have been seeing this issue for quite a while now as well. Fedora 35, KDE, AMD, Nvidia GPU

Sometimes I can go days without triggering it some days I end up triggering it 4-5 times.

I will try playing with zoom level to see if I can mitigate until a fix is found.

update:\ I can reproduce with previously mentioned steps regardless of zoom or hardware acceleration.

morn-0 commented 2 years ago

I have been seeing this issue for quite a while now as well. Fedora 35, KDE, AMD, Nvidia GPU

Sometimes I can go days without triggering it some days I end up triggering it 4-5 times.

I will try playing with zoom level to see if I can mitigate until a fix is found.

update:\ I can reproduce with previously mentioned steps regardless of zoom or hardware acceleration.

Has this been tried https://github.com/microsoft/vscode/issues/146993#issuecomment-1208870695

mrcsh commented 2 years ago

I have been seeing this issue for quite a while now as well. Fedora 35, KDE, AMD, Nvidia GPU Sometimes I can go days without triggering it some days I end up triggering it 4-5 times. I will try playing with zoom level to see if I can mitigate until a fix is found. update: I can reproduce with previously mentioned steps regardless of zoom or hardware acceleration.

Has this been tried #146993 (comment)

I have tried everything except rebuilding from source. I can easily reproduce the issue with the steps mentioned, however I cannot find any where the right mouse is active to see if the steps to get it out of the spasm will work. After watching the second video I see that they are running on something with a separate app bar (which I detest, but I digress...). I did try playing with the menu on the task bar entry and managed to get a notice along the lines of "an instance of vscode is running but not responding....", and then my entire window manager became unresponsive to mouse click events (pointer still moved). I had to ssh into my desktop and kill vscode to fix that issue.