Skip to content

BashLSP with Neovim uses 25% CPU even when idling with a file open after inputting characters quickly #1369

@nickjj

Description

@nickjj

Code editor

Neovim v0.11.5

Platform

I tested this on 2 different systems:

  • Arch Linux
  • M4 MBP

Version

5.6.0

What steps will reproduce the bug?

  • Open a decently large shell script
  • Add a comment character
  • Hold down a key to repeat the key
  • Watch your CPU spike, on my machine bash-language-server uses 25% of the CPU on an i5-4460 (quad core)
  • Release the key
  • The CPU load will not go down until I kill Neovim

How often does it reproduce? Is there a required condition?

I'm able to reproduce it 100% of the time, following the above steps.

What is the expected behavior?

The CPU load returns to ~0%.

What do you see instead?

The CPU load remains at 25%.

Additional information

If I only input a few characters slowly, such as not holding down the key, then it doesn't happen.

I have a relatively fast keyboard delay and rate:

repeat-delay 200
repeat-rate 40

The command being run and hanging onto 25% of CPU is the process listed below. I'm including the full path because maybe it's important to show that I am using Mise to manage my Node version. That doesn't seem abnormal but it's worth mentioning, it also shows which version of Node I'm using:

/home/nick/.local/share/mise/installs/node/24.11.1/bin/node /home/nick/.local/share/nvim/mason/bin/bash-language-server start

System specs:

$ fastfetch
                  -`                     nick@kaizen
                 .o+`                    -----------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Kernel: Linux 6.18.6-arch1-1
              `+oooooo:                  Uptime: 1 day, 21 hours, 58 mins
              -+oooooo+:                 Packages: 1117 (pacman)
            `/:-:++oooo+:                Shell: zsh 5.9
           `/++++/+++++++:               Display (DELL U2515H): 2560x1440 in 25", 60 Hz [External]
          `/++++++++++++++:              Display (BenQ RD320U): 3840x2160 in 32", 60 Hz [External]
         `/+++ooooooooooooo/`            WM: niri 25.11 (Wayland)
        ./ooosssso++osssssso+`           Theme: tokyonight-moon [GTK3/4]
       .oossssso-````/ossssss+`          Cursor: default (24px)
      -osssssso.      :ssssssso.         Terminal: tmux 3.6a
     :osssssss/        osssso+++.        CPU: Intel(R) Core(TM) i5-4460 (4) @ 3.40 GHz
    /ossssssss/        +ssssooo/-        GPU: AMD Radeon RX 480 Graphics [Discrete]
  `/ossssso+/:-        -:/+osssso+-      Memory: 4.54 GiB / 15.55 GiB (29%)
 `+sso+:-`                 `.-/+oso:     Swap: 96.57 MiB / 4.00 GiB (2%)
`++:.                           `-/+/    Disk (/): 79.24 GiB / 232.69 GiB (34%) - ext4
.`                                 `/    Disk (/data/backup): 890.83 GiB / 931.48 GiB (96%) - fuseblk
                                         Disk (/data/storage): 892.68 GiB / 931.51 GiB (96%) - fuseblk
                                         Local IP (enp0s25): 192.168.50.219/24
                                         Locale: en_US.UTF-8

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions