|
From: Atalay O. <aoz...@ra...> - 2015-04-13 13:45:12
|
Thanks guys for the suggestion. Below I posted the "--trace-syscalls=yes" output after the call to "fusermount". An interesting thing is when using the alternative tracing option ie. "strace -f valgrind ..." the filesystem does not dead-lock, and I get the valgrind report. Here is the strace: SYSCALL[13441,3](59) sys_execve ( 0x8b7da0(/bin/fusermount), 0x8f91620, 0x7502fa0 )SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Failure(0x6e) SYSCALL[13431,2](202) sys_futex ( 0x74f4898, 129, 1, 0x8790c30, 0x74f47f0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Success(0x0:0x0) SYSCALL[13431,2](96) sys_gettimeofday ( 0x8790cd0, 0x0 )[sync] --> Success(0x0:0x0) SYSCALL[13431,2](202) sys_futex ( 0x74f48c4, 393, 11, 0x8790c30, 0x74f4898 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,3](47) ... [async] --> Success(0x0:0x0) SYSCALL[13431,3](3) sys_close ( 6 ) --> [async] ... SYSCALL[13431,3](3) ... [async] --> Success(0x0:0x0) SYSCALL[13431,3](61) sys_wait4 ( 13441, 0x0, 0, 0x0 ) --> [async] ... SYSCALL[13431,3](61) ... [async] --> Success(0x0:0x3481) SYSCALL[13431,3](53) sys_socketpair ( 1, 1, 0, 0x8f91790 )[sync] --> Success(0x0:0x0) SYSCALL[13431,3](56) sys_clone ( 1200011, 0x0, 0x0, 0x8f929d0, 0x3477 ) clone(fork): process 13431 created child 13443 --> [pre-success] Success(0x0:0x3483) SYSCALL[13431,3](3) sys_close ( 5 ) --> [async] ... SYSCALL[13431,3](3) ... [async] --> Success(0x0:0x0) SYSCALL[13431,3](47) sys_recvmsg ( 6, 0x8f91720, 0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Failure(0x6e) SYSCALL[13431,2](202) sys_futex ( 0x74f4898, 129, 1, 0x8790c30, 0x74f47f0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Success(0x0:0x0) SYSCALL[13431,2](96) sys_gettimeofday ( 0x8790cd0, 0x0 )[sync] --> Success(0x0:0x0) SYSCALL[13431,2](202) sys_futex ( 0x74f48c4, 393, 13, 0x8790c30, 0x74f4898 ) --> [async] ... --> [pre-success] Success(0x0:0x0) SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13443,3](273) sys_set_robust_list ( 0x8f929e0, 24 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13443,3](3) sys_close ( 6 ) --> [async] ... SYSCALL[13443,3](3) ... [async] --> Success(0x0:0x0) SYSCALL[13443,3](72) sys_fcntl[ARG3=='arg'] ( 5, 2, 0 )[sync] --> Success(0x0:0x0) --13443-- REDIR: 0x6f131d0 (libc.so.6:setenv) redirected to 0x4c31f50 (setenv) SYSCALL[13431,2](202) ... [async] --> Failure(0x6e) SYSCALL[13431,2](202) sys_futex ( 0x74f4898, 129, 1, 0x8790c30, 0x74f47f0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Success(0x0:0x0) SYSCALL[13431,2](96) sys_gettimeofday ( 0x8790cd0, 0x0 )[sync] --> Success(0x0:0x0) SYSCALL[13431,2](202) sys_futex ( 0x74f48c4, 393, 15, 0x8790c30, 0x74f4898 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13443,3](59) sys_execve ( 0x8b7da0(/bin/fusermount), 0x8f91620, 0x7502fa0 )SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Failure(0x6e) SYSCALL[13431,2](202) sys_futex ( 0x74f4898, 129, 1, 0x8790c30, 0x74f47f0 ) --> [async] ... SYSCALL[13431,2](202) ... [async] --> Success(0x0:0x0) SYSCALL[13431,2](96) sys_gettimeofday ( 0x8790cd0, 0x0 )[sync] --> Success(0x0:0x0) SYSCALL[13431,2](202) sys_futex ( 0x74f48c4, 393, 17, 0x8790c30, 0x74f4898 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 )[sync] --> Success(0x0:0x0) SYSCALL[13431,1](35) sys_nanosleep ( 0xffefff320, 0x0 ) --> [async] ... SYSCALL[13431,1](35) ... [async] --> Success(0x0:0x0) SYSCALL[13431,1](137) sys_statfs ( 0x74f90b8(/home/atalay/dev/Sage/DispatcherServer/bin/debug/proc/), 0xffefff640 ) Thanks a lot, Atalay On Mon, Apr 13, 2015 at 7:07 AM, Julian Seward <js...@ac...> wrote: > On 09/04/15 20:08, Atalay Ozgovde wrote: > > This is essentially the same bug as: > > https://bugs.kde.org/show_bug.cgi?id=278057 > > A patch was applied for this bug in version 3.7 and it is considered > fixed. > > I am using version 3.10, I confirmed in the source code that the patch is > > applied. Valgrind still dread-locks when used to test an application that > > uses fuse in our environment. We are using 64bit Ubuntu 12.04LTS. > > Anybody knows if there is an easy fix? > > First you need to find out exactly why it is hanging. If you run > with --trace-syscalls=yes, you can infer (indirectly) the state of each > thread at the point where the hang happens. Can you do that and post > the last 100 lines or so? > > J > > > |