Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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