You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When accessing a directory that is not there (say, because the index.html was faulty, or simply because the directory is just being deleted), httpdirfs breaks badly. To reproduce:
$ mkdir original
$ echo '<a href="foo/">foo!</a>' > origina/index.html
$ python3 -m http.server --directory original 8234
(keep running)
$ ls mounted
total 0
drwxr-xr-x 1 chrysn chrysn 0 Jan 1 1970 .
drwxrwxrwt 1 root root 28700 Oct 3 14:59 ..
drwxr-xr-x 1 chrysn chrysn 0 Jan 1 1970 foo
$ ls mounted/foo
total 0
$ ls mounted/foo
(hangs indefinitely)
Once one process hangs, any other access to not previously cached content hangs too. (In the minimal example, there's nothing else to access; observed that in the more complex real scenario). As usual with fuse, once processes hang like that they can not be killed with even the most deadly signals, and need to wait for httpdirfs to be killed.
The best behavior would probably be to return ENOENT on the access if that's still an option, or behave as regular file systems behave when the directory a process has already entered is removed. (But anything really that does not make processes using the filesystem hang would be an improvement).
The text was updated successfully, but these errors were encountered:
When accessing a directory that is not there (say, because the index.html was faulty, or simply because the directory is just being deleted), httpdirfs breaks badly. To reproduce:
Once one process hangs, any other access to not previously cached content hangs too. (In the minimal example, there's nothing else to access; observed that in the more complex real scenario). As usual with fuse, once processes hang like that they can not be killed with even the most deadly signals, and need to wait for httpdirfs to be killed.
The best behavior would probably be to return ENOENT on the access if that's still an option, or behave as regular file systems behave when the directory a process has already entered is removed. (But anything really that does not make processes using the filesystem hang would be an improvement).
The text was updated successfully, but these errors were encountered: