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
The fusermount3 process appears to be expected -- that's what libfuse keeps around to do the umount() if the cvmfs2 mount process crashes. What appears to be going wrong is that mount.cvmfs isn't exiting, for some reason. gstacking it gives:
# gstack 44933
#0 0x00007ffff6fb64bb in select () from /lib64/libc.so.6
#1 0x0000000000406a07 in main (argc=<optimized out>, argv=<optimized out>) at /home/mharvey/cvmfs/mount/mount.cvmfs.cc:538
There are probably more problems related to fuse's auto_umount: libfuse/libfuse#586
It's a pity. I guess we should then fix the watchdog process and give it a mode where it doesn't get involved in producing a stack trace but still takes care of unmounting.
I think the fix is just to ensure that the stdout/stderr draining loop in mount.cvmfs h as a timeout on the select() and includes a waitpid( pid_cvmfs, .., WNOHANG) in the termination check
That libfuse issue doesn't seem to a problem when the automounter is un use - the fusermount3 watch process runs as root.
As an alternative to the watchdog process, we could use libfuse3's
auto_unmount
option.Initial testing shows it's not working cleanly:
Without the option:
giving processes:
But with the option:
with processes
The
fusermount3
process appears to be expected -- that's what libfuse keeps around to do theumount()
if the cvmfs2 mount process crashes. What appears to be going wrong is thatmount.cvmfs
isn't exiting, for some reason.gstack
ing it gives:corresponding to
cvmfs/mount/mount.cvmfs.cc
Line 641 in 491857e
sending the
mount.cvmfs
process aSIGINT
gets things moving.The text was updated successfully, but these errors were encountered: