[Bug 997391] Re: Symbolic links can create recursive loop that causes Baobab to never finish scanning
jouberthenk at gmail.com
Thu Sep 13 08:05:38 UTC 2012
Tested after applying the update. Scanning a windows 7 root filesystem
** Tags removed: verification-needed
** Tags added: verification-done
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ntfs-3g in Ubuntu.
Symbolic links can create recursive loop that causes Baobab to never
Status in “ntfs-3g” package in Ubuntu:
Status in “ntfs-3g” source package in Precise:
Status in “ntfs-3g” package in Debian:
Status in “baobab” package in Fedora:
Status in “ntfs-3g” package in Fedora:
= Stable Release Update discussion =
== Impact ==
readdir() returns the directory type for junction points (NTFS symbolic links). This causes baobab to go into an endless loop when scanning an NTFS file-system. Older baobabs used stat() which correctly identified junction points as being symlinks.
This would affect all users who run baobab on a Windows 7 (or later)
root file-system. For dual-booting users, that's fairly likely to be
where they store most of their media (it's accessible from both OSs),
and thus the file-system most likely to be full and need the help of
== Test Case ==
* Mount a Windows 7 root filesystem.
* Run baobab on Users/somebody/Local\ Settings/Application\ Data (or just the whole file-system).
* If affected by this bug, it will appear to take forever to scan, and under strace it's obvious that it's following an endless loop of symlinks.
== Regression potential ==
The patch is limited to readdir() and simply adds support for more types of file. It is not trivial, but is readable and seems plausible.
Fedora appear are also backporting this patch to F17.
= Original report =
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu
Ubuntu 12.04 LTS
2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
3) What you expected to happen
Detect the presence of symbolic link and omit directories under the link
4) What happened instead
Scans directories under the symbolic link, which is in reference to the directory above the symbolic link, and continue scanning without completion.
Case in which bug was discovered:
When scanning an NTFS drive with Windows 7 installed, the Users\System\AppData\Local\ directory contains a symlink called "Application Data" back to the Users\System\AppData\Local\ directory. This is used to maintain legacy support for older programs that require the Application Data folder. However, when Baobab reaches this point, it assumes that this continues to an infinite depth, and never completes the scan.
Omit scanning of the directory that is known to contain such links.
To manage notifications about this bug go to:
More information about the foundations-bugs