From: VenkataRao <ven...@gm...> - 2014-03-26 01:56:02
|
Hi, We are using libfuse-2.9.2 and seeing the below assert under stress conditions once in a while. Could you please kindly help me what is going and how to debug this if possible. #4 0x76ea35d4 in raise () from /lib/libc.so.0 #5 0x76e9cc64 in abort () from /lib/libc.so.0 #6 0x76e57a58 in __assert () from /lib/libc.so.0 #7 0x772a9fa4 in fuse_do_release () from /usr/lib/libfuse.so.2 #8 0x772aa164 in fuse_lib_release () from /usr/lib/libfuse.so.2 #9 0x772b11f4 in do_release () from /usr/lib/libfuse.so.2 #10 0x772b2080 in fuse_ll_process_buf () from /usr/lib/libfuse.so.2 #11 0x772adf5c in fuse_do_work () from /usr/lib/libfuse.so.2 #12 0x76ddc768 in start_thread () from /lib/libpthread.so.0 #13 0x76ea2ca0 in __thread_start () from /lib/libc.so.0 Best Regards, Venkata Rao. Y |
From: VenkataRao <ven...@gm...> - 2014-04-07 05:54:07
Attachments:
fusetest.c
|
I also see this issue in 2.9.3 with multi-thread-fuse and I'm able reproduce this issue with the attached fusetest.c program on the MIPS target. It looks like fuse library is calling release twice for single close operation. I noticed that the fi->fh data is invalid for the release that caused the assert. Right before this faulty-release, there were 2 releases on this files from 2 different threads (I believe that these 2 releases are valid as I have to closes) but the third 3 fuse_entry_release() has bogus fi->fh data. Please note that value within [] is the thread id. unique: 21310, opcode: RELEASE (18), nodeid: 2316, insize: 64, pid: 0 release[16828637] flags: 0x2002 unique: 21311, opcode: RELEASE (18), nodeid: 2316, insize: 64, pid: 0 release[16828637] flags: 0x2002 STATUS: line 3208 - [1797117168]: fuse_entry_release(path=/test2326, fi=0x6b1dce28, fi->fh=0x0100c8dd): nb_closes=5057 unique: 21310, success, outsize: 16 unique: 21310, opcode: RELEASE (18), nodeid: STATUS: line 3208 - [1801401584]: fuse_entry_release(path=/test2326, fi=0x6b5f2e28, fi->fh=0x0100c8dd): nb_closes=5058 2316, insize: 49, pid: 1102 release[3905240118678742388] flags: 0x2000 unique: 21311, success, outsize: 16 STATUS: line 3208 - [1797117168]: fuse_entry_release(path=/test2326, fi=0x6b1dce28, fi->fh=*0x74736574*): nb_closes=5059 /usr/local/bin/otvproc: fuse.c: 3092: fuse_do_release: Assertion `node->open_count > 0' failed. unique: 21313, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 1022 Regards, Venkata. On Tue, Mar 25, 2014 at 6:55 PM, VenkataRao <ven...@gm... > wrote: > Hi, > > We are using libfuse-2.9.2 and seeing the below assert under stress > conditions once in a while. > > Could you please kindly help me what is going and how to debug this if > possible. > > #4 0x76ea35d4 in raise () from /lib/libc.so.0 > #5 0x76e9cc64 in abort () from /lib/libc.so.0 > #6 0x76e57a58 in __assert () from /lib/libc.so.0 > #7 0x772a9fa4 in fuse_do_release () from /usr/lib/libfuse.so.2 > #8 0x772aa164 in fuse_lib_release () from /usr/lib/libfuse.so.2 > #9 0x772b11f4 in do_release () from /usr/lib/libfuse.so.2 > #10 0x772b2080 in fuse_ll_process_buf () from /usr/lib/libfuse.so.2 > #11 0x772adf5c in fuse_do_work () from /usr/lib/libfuse.so.2 > #12 0x76ddc768 in start_thread () from /lib/libpthread.so.0 > #13 0x76ea2ca0 in __thread_start () from /lib/libc.so.0 > > Best Regards, > Venkata Rao. Y > |