powerline / powerline

Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.

Home Page:https://powerline.readthedocs.org/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Powerline hangs for a long time recursively scanning dir doing inotify

gtedesco-r7 opened this issue · comments

Powerline has started hanging for a long time whenever I am in a certain directory.

I straced the powerline demon and found it stuck in a bizarre loop.

Looks like it's decided to recursively scan the directory, and for each file it finds, do an lstat() on every single path component and then an inotify_add_watch() for every single file in that directory.

For the approx 80,000 files it does this for, ~72,000 are failing with ENOTDIR, which you would imagine is something you can figure out from the lstat() :)

Version is fedora latest: powerline-2.8-3.fc33.x86_64, version hasn't changed recently.

Yes, looks like it's decided to recursively watch every directory beneath the current dir, even ones which have been symlinked to.

It doesn't seem to do this for any other directory, so not sure what's triggering this.

Encountered this as well and can replicate. It looks like it may only do this from a git repository which leads me to believe that powerline is not relying on git to check commit dirty status.