Hi everyoneFirst of all I would like to take this opportunity and say massive THANK YOU to all of you guys that work on Fuse4X and OSXFUSEproject and brought FUSE on Mac platform back to life. Anatol, Benjamin, Erik (and I'm sure others) you are doing great job which we all appreciate.
A few quick questions:1) Make sure that the deadlock hangs for more than 60 seconds (daemon_timeout option). If it does then it is fuse4x deadlock.
2) What fuse4x version do you use? Make sure that you have 0.8.13. You can find the version in logs (either /var/log/kernel.log or /var/log/system.log)
3) Do you see anything suspicious related to fuse4x in log files? (/var/log/(kernel|system).log)
4) What kernel version do you have? Please run uname -v
Darwin Kernel Version 10.7.0: Sat Jan 29 15:16:10 PST 2011; root:xnu-1504.9.37~1/RELEASE_X86_64
Interestingly I could reproduce it only in 64-bit bt not when machine booted in 32 bit mode.
5) Mount fuse folder without flags. I am interested how it affects deadlock if you remove "allow_other" and/or "defer_permissions". Try to mount without any flags, is the deadlock still exist?
If nothing suspicious will be found we'll try to setup symbols for your kernel and get the deadlock stacktrace.
sudo /usr/libexec/stackshot -i -f stackshot.untxt && sudo /usr/sbin/symstacks.rb -f stackshot.untxt -w stackshot.txt && sudo chown USERNAME stackshot.*
but I don't know how to setup symbols. Can you walk me through this?
Thanks
D.
Hi AnatolMy replies belowA few quick questions:1) Make sure that the deadlock hangs for more than 60 seconds (daemon_timeout option). If it does then it is fuse4x deadlock.It's definitely longer than 60 seconds. In fact the whole Finder hangs and cannot recover from it. I cannot even shutdown the machine.Hard reboot with power button is needed2) What fuse4x version do you use? Make sure that you have 0.8.13. You can find the version in logs (either /var/log/kernel.log or /var/log/system.log)I'm using 0.8.13Kernel.log states:fuse4x: starting (version 0.8.13, Oct 17 2011, 13:17:58)3) Do you see anything suspicious related to fuse4x in log files? (/var/log/(kernel|system).log)There is nothing fuse4x related in system.log and only information about starting fuse4x in kernel.log4) What kernel version do you have? Please run uname -vSnow Leopard 10.6.8 in 64-bit modeDarwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_6it also happens on when used on machine with 10.6.7Darwin Kernel Version 10.7.0: Sat Jan 29 15:16:10 PST 2011; root:xnu-1504.9.37~1/RELEASE_X86_64
Interestingly I could reproduce it only in 64-bit bt not when machine booted in 32 bit mode.
5) Mount fuse folder without flags. I am interested how it affects deadlock if you remove "allow_other" and/or "defer_permissions". Try to mount without any flags, is the deadlock still exist?I tried without any flags and it looks like allow_other makes a difference. Without that flag I could not reproduce the problem.Once turned back on (as the only option) I got the error third time I launched test.To eliminate my implementation I took Loopback filesystem from MacFUSE and compiled/linked to fuse4x.The same problems happens and it's actually easier to reproduce using the same test.
If nothing suspicious will be found we'll try to setup symbols for your kernel and get the deadlock stacktrace.I downloaded the KernelDebugKit matching version of the kernel of the machine I'm using for testingI also did a stackshot usingsudo /usr/libexec/stackshot -i -f stackshot.untxt && sudo /usr/sbin/symstacks.rb -f stackshot.untxt -w stackshot.txt && sudo chown USERNAME stackshot.*
but I don't know how to setup symbols. Can you walk me through this?
HiI tested it with virtual machine and seems to be OK but I still get a deadlock on a real machine:
Darwin daniel-macbook 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64In kernel.log I have:fuse4x: starting (version fuse4x_0_8_13-6-gb6c05bb, Dec 11 2011, 19:14:21)
Looks good so far.Occasionally I got the error though:/Users/daniel/Desktop/crash.rb:13:in `doTest': Parent dir already exist (RuntimeError)from /Users/daniel/Desktop/crash.rb:52Which means a parent directory could not be deleted after previous iterationThis may be just a weakness of the script or loopback fs implementation