Red Hat Bugzilla – Bug 890794
reproducible fuse deadlock
Last modified: 2014-02-05 09:15:59 EST
A userspace program triggers what seems to be a fuse deadlock: the
process goes into an interruptible sleep, and the fuse filesystem it
mounts can not be unmounted with the usual "fusermount -u". At the
end of this message I pasted a kernel backtrace, which is printed out
on a system suspend attempt in this state.
This is with Linux 3.6.10-2.fc16.x86_64 and fuse-2.8.7-2.fc16.x86_64.
The steps to reproduce the problem
1) Install the tup build tool - that's the application that uses fuse.
(http://gittup.org/tup/). This only takes a few minutes
One needs the specific version shown below:
git clone git://github.com/gittup/tup.git
git checkout 904dee985a2a4f7e8db1721bf71af0a6ac1f33f9
Add the tup directory to your PATH
2) Create a malformed project and run tup:
echo ': foreach foo.c |> gcc -c %f -o %o |> %o' > Tupfile
The last command hangs.
There is a thread about this at
kernel: [ 3393.523720] PM: Syncing filesystems ... done.
kernel: [ 3393.599522] Freezing user space processes ...
kernel: [ 3413.563965] Freezing of tasks failed after 20.00 seconds (1 tasks refusing to freeze, wq_busy=0):
kernel: [ 3413.563994] tup D ffffffff81808a60 0 4701 1 0x00000086
kernel: [ 3413.563998] ffff8800369d1b48 0000000000000046 ffff8800ca436860 ffff8800ca436940
kernel: [ 3413.564002] ffff88020e19ae40 ffff8800369d1fd8 ffff8800369d1fd8 ffff8800369d1fd8
kernel: [ 3413.564004] ffff8802129e8000 ffff88020e19ae40 ffff88020e19ae40 ffff8800ca436860
kernel: [ 3413.564007] Call Trace:
kernel: [ 3413.564014] [<ffffffff81618f79>] schedule+0x29/0x70
kernel: [ 3413.564020] [<ffffffffa06fb685>] fuse_request_send+0xe5/0x2b0 [fuse]
kernel: [ 3413.564024] [<ffffffff81080af0>] ? remove_wait_queue+0x50/0x50
kernel: [ 3413.564027] [<ffffffffa07039c4>] fuse_flush+0xf4/0x130 [fuse]
kernel: [ 3413.564031] [<ffffffff8118c1cf>] filp_close+0x3f/0x90
kernel: [ 3413.564035] [<ffffffff81061eea>] put_files_struct+0x8a/0xf0
kernel: [ 3413.564037] [<ffffffff81061ffb>] exit_files+0x4b/0x60
kernel: [ 3413.564040] [<ffffffff810624c0>] do_exit+0x180/0x8d0
kernel: [ 3413.564042] [<ffffffff81062f62>] do_group_exit+0x42/0xa0
kernel: [ 3413.564046] [<ffffffff81071c33>] get_signal_to_deliver+0x233/0x620
kernel: [ 3413.564050] [<ffffffff8101428c>] do_signal+0x3c/0x620
kernel: [ 3413.564053] [<ffffffff8161de9a>] ? do_page_fault+0x4ea/0x4f0
kernel: [ 3413.564057] [<ffffffff8160f8e0>] ? printk+0x61/0x63
kernel: [ 3413.564060] [<ffffffff8119e0a1>] ? user_path_at+0x11/0x20
kernel: [ 3413.564063] [<ffffffff81192bca>] ? vfs_fstatat+0x3a/0x70
kernel: [ 3413.564065] [<ffffffff81014920>] do_notify_resume+0x90/0xd0
kernel: [ 3413.564068] [<ffffffff8161a42c>] retint_signal+0x48/0x8c
kernel: [ 3413.564074]
Hm. You really ought to file this upstream with fuse. I'd be happy to apply any patches they generate for this issue (although, Fedora 16 probably won't get it), but I'm not qualified to go digging into the fuse kernel code.
The same recipe as in the original posting also deadlocks Fedora 18 (beta).
Note that fuse 2.9.2 should contain
Author: Miklos Szeredi <email@example.com>
Date: Mon Oct 1 17:55:55 2012 +0200
Fix deadlock in libfuse
Apparently I am hitting a different problem.
I'll report this upstream. Updating Fedora version of this bug to 18.
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '18'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 18's end of life.
Thank you for reporting this issue and we are sorry that we may not be
able to fix it before Fedora 18 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior to Fedora 18's end of life.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
Thank you for reporting this bug and we are sorry it could not be fixed.