Open Arcanemagus opened 7 years ago
This is somewhat related to https://github.com/atom/fuzzy-finder/issues/216 for reference, but isn't identical as it's impossible to detect that a symlink is being traversed.
@smashwilson do you know if this is something that might be solved with the new watcher things that you were working on?
Just to confirm, this is still an issue on Atom v1.25.0-beta3, although you are now required to hit Ctrl+P in order to trigger fuzzy-finder
indexing the project.
Interesting new bit of information:
My home network (samba
running on FreeBSD) seems to cap the loop 32 directories deep, showing an empty folder at the bottom most level.
The "enterprise" file system at work apparently never thought of adding that limitation, and lets you go as deep as you want till something crashes.
This means that you would only be able to see the infinitely expanding memory on a system that is equally broken, otherwise you would need to hook into the internals of fuzzy-finder
and watch the loop go till it hits the limits of whatever system you have in place.
So it appears this was addressed on macOS and Linux by #331 but not on Windows? @Arcanemagus can you confirm?
I'm still seeing this on v1.34.0-nightly4 in safe mode:
Note the task with constant CPU and network activity, with increasing RAM usage.
Prerequisites
Description
When the directory structure of the open project has a "loop",
fuzzy-finder
will forever keep trying to reach the bottom of the tree till Atom runs out of memory and crashes. When it reloads the process starts over again.Note that this can only happen when it can't recognize that the folder is a symlink.
Steps to Reproduce
Z:\foo
containing a linkbar
that links toZ:\foo
Expected behavior:
Loop is detected or limit is hit and path searching stops.
Actual behavior:
Loop is never detected, path searching continues till Atom runs out of memory and crashes.
Reproduces how often:
100% of the time.
Versions
Atom : 1.19.0-beta3 x64 Electron: 1.6.9 Chrome : 56.0.2924.87 Node : 7.4.0
OS: Windows 10 Enterprise x64
Additional Information
Killing the Task's process lets Atom work with the project folder open.
If attempted locally Atom detects that the folders are linked and stops the scan, thus accessing over a network share is necessary to hide the fact that it is a link from Atom.