LLNL/Surfactant

Surfactant will stall forever on mounted NTFS volumes which have named pipes

Closed this issue · 0 comments

Describe the bug
Currently if a named pipe exists on a mounted NTFS volume Surfactant will try to read it, which will result in it blocking forever.

The issue would appear to be that we do not call os.path.isfile before if ftype := pm.hook.identify_file_type(filepath=filepath): unless the file is also a symbolic link.

To Reproduce
Steps to reproduce the behavior:

  1. Mount a NTFS volume which contains a named pipe on Linux.
  2. Run surfactant generate on that path.
  3. Wait... Forever.

Expected behavior
We should ensure that we're either dealing with a regular file or a symlink to a regular file before trying to read it.

System Information (please complete the following information):

  • OS: Ubuntu 22.04