Assertion in fuse.c::unlink_node

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Assertion in fuse.c::unlink_node

Jones, Tim

Hi,


We've hit an assertion here:


fuse.assert: fuse.c:1329: unlink_node: Assertion `node->nlookup > 1' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff75f3a28 in __GI_raise (sig=6, sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55      return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
#0  0x00007ffff75f3a28 in __GI_raise (sig=6, sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007ffff75f562a in __GI_abort () at abort.c:89
#2  0x00007ffff75ec227 in __assert_fail_base (fmt=<optimized out>, fmt@entry=<optimized out>, assertion=0x7ffff7bbf4a0 "node->nlookup > 1", assertion@entry=0x7ffff7bbf4a0 "node->nlookup > 1", file=0x7ffff7bbf3f2 "fuse.c", file@entry=0x7ffff7bbf3f2 "fuse.c", line=1329, line@entry=1329, function=0x7ffff7bbfad8 "unlink_node", function@entry=0x7ffff7bbfad8 "unlink_node") at assert.c:92
#3  0x00007ffff75ec2d2 in __GI___assert_fail (assertion=0x7ffff7bbf4a0 "node->nlookup > 1", assertion@entry=<optimized out>, file=0x7ffff7bbf3f2 "fuse.c", file@entry=<optimized out>, line=1329, line@entry=<optimized out>, function=0x7ffff7bbfad8 "unlink_node", function@entry=<optimized out>) at assert.c:101
#4  0x00007ffff7ba8631 in unlink_node () from /lib64/libfuse.so.2
#5  0x00007ffff7ba86fd in rename_node () from /lib64/libfuse.so.2
#6  0x00007ffff7baa509 in fuse_lib_rename () from /lib64/libfuse.so.2
#7  0x00007ffff7bb4c69 in fuse_ll_process_buf () from /lib64/libfuse.so.2
#8  0x00007ffff7bb102c in fuse_session_loop () from /lib64/libfuse.so.2
#9  0x00007ffff7ba9418 in fuse_loop () from /lib64/libfuse.so.2
#10 0x00007ffff7bb9a37 in fuse_main_common () from /lib64/libfuse.so.2
#11 0x000000000040095b in main ()
#12 0x00007ffff75df580 in __libc_start_main (main=0x4008d8 <main>, main@entry=<optimized out>, argc=6, argc@entry=<optimized out>, argv=0x7fffffffc868, argv@entry=<optimized out>, init=<optimized out>, init@entry=<optimized out>, fini=<optimized out>, fini@entry=<optimized out>, rtld_fini=<optimized out>, rtld_fini@entry=<optimized out>, stack_end=0x7fffffffc858, stack_end@entry=<optimized out>) at libc-start.c:289
#13 0x0000000000400539 in _start ()


We know our code isn't doing exactly the 'right thing', but we don't think libfuse should be asserting either. We do use the remember/noforget option, which enabled the code which we're seeing the assertion agains. We're enabling this to help avoid stale file handles with NFS, so we need to keep it on.


I have a 142 line example which causes the issue, should I post that via this list?


Cheers,


Tim


------------------------------------------------------------------------------

--
fuse-devel mailing list
To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel
Reply | Threaded
Open this post in threaded view
|

Assertion in fuse.c::unlink_node

Jones, Tim
Hi,

We've hit an assertion here:

fuse.assert: fuse.c:1329: unlink_node: Assertion `node->nlookup > 1' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff75f3a28 in __GI_raise (sig=6, sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55      return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
#0  0x00007ffff75f3a28 in __GI_raise (sig=6, sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007ffff75f562a in __GI_abort () at abort.c:89
#2  0x00007ffff75ec227 in __assert_fail_base (fmt=<optimized out>, fmt@entry=<optimized out>, assertion=0x7ffff7bbf4a0 "node->nlookup > 1", assertion@entry=0x7ffff7bbf4a0 "node->nlookup > 1", file=0x7ffff7bbf3f2 "fuse.c", file@entry=0x7ffff7bbf3f2 "fuse.c", line=1329, line@entry=1329, function=0x7ffff7bbfad8 "unlink_node", function@entry=0x7ffff7bbfad8 "unlink_node") at assert.c:92
#3  0x00007ffff75ec2d2 in __GI___assert_fail (assertion=0x7ffff7bbf4a0 "node->nlookup > 1", assertion@entry=<optimized out>, file=0x7ffff7bbf3f2 "fuse.c", file@entry=<optimized out>, line=1329, line@entry=<optimized out>, function=0x7ffff7bbfad8 "unlink_node", function@entry=<optimized out>) at assert.c:101
#4  0x00007ffff7ba8631 in unlink_node () from /lib64/libfuse.so.2
#5  0x00007ffff7ba86fd in rename_node () from /lib64/libfuse.so.2
#6  0x00007ffff7baa509 in fuse_lib_rename () from /lib64/libfuse.so.2
#7  0x00007ffff7bb4c69 in fuse_ll_process_buf () from /lib64/libfuse.so.2
#8  0x00007ffff7bb102c in fuse_session_loop () from /lib64/libfuse.so.2
#9  0x00007ffff7ba9418 in fuse_loop () from /lib64/libfuse.so.2
#10 0x00007ffff7bb9a37 in fuse_main_common () from /lib64/libfuse.so.2
#11 0x000000000040095b in main ()
#12 0x00007ffff75df580 in __libc_start_main (main=0x4008d8 <main>, main@entry=<optimized out>, argc=6, argc@entry=<optimized out>, argv=0x7fffffffc868, argv@entry=<optimized out>, init=<optimized out>, init@entry=<optimized out>, fini=<optimized out>, fini@entry=<optimized out>, rtld_fini=<optimized out>, rtld_fini@entry=<optimized out>, stack_end=0x7fffffffc858, stack_end@entry=<optimized out>) at libc-start.c:289
#13 0x0000000000400539 in _start ()

We know our code isn't doing exactly the 'right thing', but we don't think libfuse should be asserting either. We do use the remember/noforget option, which enabled the code which we're seeing the assertion agains. We're enabling this to help avoid stale file handles with NFS, so we need to keep it on.

I have a 142 line example which causes the issue, should I post that via this list if it'll help?

Cheers,

Tim

------------------------------------------------------------------------------
--
fuse-devel mailing list
To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel
Reply | Threaded
Open this post in threaded view
|

Re: Assertion in fuse.c::unlink_node

Nikolaus Rath
On Nov 22 2016, "Jones, Tim" <[hidden email]> wrote:
> Hi,
>
> We've hit an assertion here:
>
> fuse.assert: fuse.c:1329: unlink_node: Assertion `node->nlookup > 1'
> failed.
[..]
>
> We know our code isn't doing exactly the 'right thing', but we don't
> think libfuse should be asserting either.

Right.

> I have a 142 line example which causes the issue, should I post that
> via this list if it'll help?

Great! Please file an issue at
https://github.com/libfuse/libfuse/issues/

Thanks for report!

Best,
-Nikolaus

--
GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F
Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F

             »Time flies like an arrow, fruit flies like a Banana.«

------------------------------------------------------------------------------
--
fuse-devel mailing list
To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel