Tab completion is hanging when attempting to complete package names. eg dnf info fire[TAB]. How can I fix this?

It works in general for bash, and also for completing dnf options, but not for package names. It appears to freeze the command line and I have to hit Ctrl-C twice to get back the command prompt.

Tab completion used to work on Fedora 28, and this issue started after upgrading to Fedora 29.

I have the bash-completion and sqlite packages installed, which are required for completion.

Using sudo strace -pXXXX -fro /tmp/strace.log (where XXXX is the process ID of the bash terminal where tab completion is being attempted) from here generated a 9MB 80k+ line log file and attached 55 processes. Suggestions of what hints to look for in there?

Observations on dnf package name tab completion

  • does not work for my user
  • works for root
  • does not work after dnf install or dnf info
  • works after dnf remove (including for my user)
  • Any repeated patterns, such as reading the same file over and over would be an indication. You might also want to "massage" the data to remove timestamps and such, and use sort | uniq -c | sort -k1 -n (untested) to see if there are any lines which stand out as extremely frequent. – l0b0 Feb 7 at 1:52
  • @l0b0 Thanks. By not including timestamps and using your commands plus reverse sorting, here are the lines that show up 10 or more times in the log file: paste.fedoraproject.org/paste/DQ1rt0t63463sS6xbFE-bg Any clues? – adatum Feb 7 at 7:40
  • @l0b0 I noticed in the full log file that there are some EACCES (Permission denied) entries regarding access to /var/lib/rpm and files within it such as .dbenv.lock and .rpm.lock. Also in that directory is a binary file Packages that is ~300MB, is that normal? I'm just making blind guesses here... – adatum Feb 7 at 7:51

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.