Page MenuHomeSoftware Heritage

Hang while running ls on a directory containing a symlink
Closed, MigratedEdits Locked

Description

$ swh fs mount /tmp/foobar/
$ ls -lh /tmp/foobar/origin/https%3A%2F%2Fgithub.com%2FProgVal%2FLimnoria/2020-03-06/snapshot/refs%2Fheads%2Ftesting/root/

-> it hangs forever.

after a while, I killed swh-fuse, and got this:

ls: cannot read symbolic link '/tmp/foobar/origin/https%3A%2F%2Fgithub.com%2FProgVal%2FLimnoria/2020-03-06/snapshot/refs%2Fheads%2Ftesting/root/supybot': Software caused connection abort
ls: cannot access '/tmp/foobar/origin/https%3A%2F%2Fgithub.com%2FProgVal%2FLimnoria/2020-03-06/snapshot/refs%2Fheads%2Ftesting/root/test': Transport endpoint is not connected
ls: reading directory '/tmp/foobar/origin/https%3A%2F%2Fgithub.com%2FProgVal%2FLimnoria/2020-03-06/snapshot/refs%2Fheads%2Ftesting/root/': Transport endpoint is not connected
total 0
-rw-r--r-- 1 dev dev 1.3K Dec  2 15:12 CONTRIBUTING.md
-rw-r--r-- 1 dev dev  70K Dec  2 15:12 ChangeLog
-rw-r--r-- 1 dev dev 1.7K Dec  2 15:12 LICENSE.md
-rw-r--r-- 1 dev dev  117 Dec  2 15:12 MANIFEST.in
-rw-r--r-- 1 dev dev  983 Dec  2 15:12 Makefile
-rw-r--r-- 1 dev dev 2.3K Dec  2 15:12 README.md
-rw-r--r-- 1 dev dev  17K Dec  2 15:12 RELNOTES
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 locales
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 man
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 plugins
-rw-r--r-- 1 dev dev   90 Dec  2 15:12 requirements.txt
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 sandbox
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 scripts
-rw-r--r-- 1 dev dev 8.8K Dec  2 15:12 setup.py
dr-xr-xr-x 1 dev dev    0 Dec  2 15:12 src
l--------- 1 dev dev    3 Dec  2 15:12 supybot
d????????? ? ?   ?      ?            ? test

so it looks like the hang was caused by reading supybot, which is a symlink to a dir.

Event Timeline

vlorentz triaged this task as Normal priority.Dec 2 2020, 3:32 PM
vlorentz created this task.

@vlorentz: can we have the logs please?
Run mount with the "--foreground" option and/or check your user log in "journalctl --user".
TIA

$ swh fs mount /tmp/foobar/ -f
^CERROR:root:Error running FUSE: 
ERROR:asyncio:Task exception was never retrieved
future: <Task finished coro=<_session_loop() done, defined at /home/dev/.local/lib/python3.7/site-packages/_pyfuse3.py:28> exception=AssertionError()>
Traceback (most recent call last):
  File "/home/dev/.local/lib/python3.7/site-packages/_pyfuse3.py", line 30, in wrapper
    await fn(*args, **kwargs)
  File "src/internal.pxi", line 253, in _session_loop
  File "src/handlers.pxi", line 189, in fuse_readlink_async
  File "/home/dev/.local/lib/python3.7/site-packages/swh/fuse/fuse.py", line 257, in readlink
    assert isinstance(entry, FuseSymlinkEntry)
AssertionError

(I didn't notice it, because it only got printed when I pressed ctrl-c)

haltode changed the task status from Open to Work in Progress.Dec 8 2020, 10:29 AM
haltode moved this task from Backlog to In progress on the Software Heritage filesystem board.