[Bug 227826] FUSE: fuse_main() hangs in pthread_cleanup_pop()

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Apr 28 14:01:17 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227826

            Bug ID: 227826
           Summary: FUSE: fuse_main() hangs in pthread_cleanup_pop()
           Product: Base System
           Version: 11.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: threads
          Assignee: threads at FreeBSD.org
          Reporter: ben.rubson at gmail.com

Hi,

I'm facing an issue where, from time to time, unmounting a FUSE FS, threads
hang in pthread_cleanup_pop().

For example with sysutils/fusefs-encfs.
When it starts, it enters fuse_main().
And when FS is unmounted, sometimes, main thread hangs in fuse_main(), all
threads being stuck in pthread_cleanup_pop().

Here is a backtrace :

(gdb) thread apply all bt
Thread 2 (Thread 802618000 (LWP 100408/encfs)):
#0  0x0000000801da267c in pthread_cleanup_pop () from /lib/libthr.so.3
#1  0x00000008008c8b1b in fuse_session_loop_mt () from
/usr/local/lib/libfuse.so.2
#2  0x00000008008cd8c2 in fuse_loop_mt () from /usr/local/lib/libfuse.so.2
#3  0x00000008008d0618 in fuse_main_real () from /usr/local/lib/libfuse.so.2
#4  0x000000000040a246 in ?? ()
#5  0x0000000000408a8f in ?? ()
#6  0x00000008006b4000 in ?? ()
#7  0x0000000000000000 in ?? ()
Thread 1 (Thread 802c69000 (LWP 101304/encfs)):
#0  0x0000000801da267c in pthread_cleanup_pop () from /lib/libthr.so.3
#1  0x0000000801d9f9f3 in pthread_timedjoin_np () from /lib/libthr.so.3
#2  0x000000080069dc72 in _rtld_is_dlopened () from /libexec/ld-elf.so.1
#3  0x000000080069af21 in _rtld_is_dlopened () from /libexec/ld-elf.so.1
#4  0x0000000800698301 in dlopen () from /libexec/ld-elf.so.1
#5  0x0000000801da1f0f in pthread_exit () from /lib/libthr.so.3
#6  0x0000000801da1e3b in pthread_exit () from /lib/libthr.so.3
#7  0x0000000801d94b5d in pthread_create () from /lib/libthr.so.3
#8  0x0000000000000000 in ?? ()

Here are other similar backtraces :
https://pastebin.com/raw/ubxzKck8
https://pastebin.com/raw/FXRy2u22
https://pastebin.com/raw/7CG9BuDq

Process then hangs indefinitely, and only exits upon a SIGKILL.

I also reported this in sysutils/fusefs-encfs, but does not seem to be a port
issue.
https://github.com/vgough/encfs/issues/470

Thank you very much for your support !

Best regards,

Ben

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-threads mailing list