I upgraded to Fedora 26 the day of the official public release earlier this week and, long story short, ended up screwing up my installation, so I did a partial reformatting . My disk layout is the following:
# df -h | grep dev /dev/sdb3 40G 5.6G 32G 15% / /dev/sdb2 477M 138M 311M 31% /boot /dev/sdb1 200M 34M 167M 17% /boot/efi /dev/sda2 9.8G 940M 8.4G 10% /var /dev/sda1 493G 441G 27G 95% /home
/dev/sdb is the SSD where root is mounted and
/dev/sda is a normal HDD where I have my
/home partition. I decided to do a clean install of Fedora 26 instead of trying to repair my botched upgrade via
dnf, so I reformatted all partitions in
/dev/sdb, the SSD and re-installed Fedora 26, keeping the
/home partition intact. The installation went fine and everything seems to be working normally again except for one thing: Zhs autocompletion is now dog slow with larger directories.
Zsh is my default shell and I have a plethora of plugins installed (Oh My Zsh, FZF, etc.) so I figured one of these might've gone out of whack during/after the upgrade so I switched to Bash: same thing, autocomplete takes a good 10-30 seconds (depending on dir size) to come up. I installed some more shells to troubleshoot the cause and, to my surprise,
fish work absolutely fine. Under the same setting, these two perform perfectly fine where Bash and Zsh would hang for a good +10 seconds.
I've done the usual diagnostics with Bash, whose config is pretty vanilla compared to my Zsh install:
set -x, etc., but couldn't find much of interest. Also ruled out FZF as the problem as the slowness persisted after uninstalling it... Still my gut tells me this must be some sort of weird hashing/caching problem of the completion engine that somehow affects both Zsh and Bash, but I don't really have any evidence to support that. Autocompletion with smaller folders (few files, few subdirectories) works fine across all shells I've tried. Other things I've tried is to run
fsck -A -y to make sure I don't have any corrupt partitions and also re-installed
zsh just in case some metadata or cache had corrupted.
I think what's really intriguing here is the fact that
fish have 0 problem autocompleting anything I throw at them, but Bash and Zsh don't. Does anybody know what's going on here? Big thanks to whomever sheds some light into the matter!