microsoft/VFSForGit

GVFS lock stalls indefinitely

alameenshah opened this issue · 1 comments

When there are files/directories with long paths in the GVFS root folder, gvfs gets locked (git commands gets stuck with console message - Waiting for GVFS to release the lock …).

gvfs mount logs show multiple lines of PathTooLongExceptions, causing GVFS’s background operations to repeatedly fail, which is why it’s never releasing its lock. The specific error is:
System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters

GVFS repository gets locked up, because the background queue gets clogged with multiple file IO operations that it needs to catch up to, the vast majority of which are under the long path folder.

Related to this issue #1251 - essentially if there's any persistent error with the background task, it will block everything