gocryptfs: macOS (Error code -36) while copying
Hey there,
I am getting this (title) message very often while copying data. In the System Console I see:
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:51,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:52,000 kernel[0]: osxfuse: vnode changed generation
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
19/02/18 21:25:53,000 kernel[0]: osxfuse: fuse_vnop_readdir failed (err=22)
Although this seems to occur sometimes without the error in Finder. When I copy via cpthen some files do not get copied and cp prints Stale NFS file handle
The debug output of gocrypt itself does not show any errors. I am using version gocryptfs v1.4.3; go-fuse [vendored]; 2018-02-02 go1.9.3 (Homebrew) and OSX Fuse version 3.7.1.
Thanks a lot, Magnus
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 36 (17 by maintainers)
Commits related to this issue
- ctlsock: don't Warn() on closed socket This Warn() is causing panics in the test suite on MacOS: https://github.com/rfjakob/gocryptfs/issues/213 — committed to rfjakob/gocryptfs by rfjakob 6 years ago
- test_helpers: use an intermediate pipe for subprocess stdout To Go test logic waits for stderr and stdout to close, so when we share it with a subprocess, it will wait for it to exit as well. We don... — committed to rfjakob/gocryptfs by rfjakob 6 years ago
- MacOS: don't test symlinks longer than 1000 bytes The limit is much lower than on Linux. https://github.com/rfjakob/gocryptfs/issues/213 — committed to rfjakob/gocryptfs by rfjakob 6 years ago
- tests: macos: try to unmount before rm -Rf macos does not have "rm --one-file-system", so try to unmount all remaining test filesystems to protect the backing stores. https://github.com/rfjakob/gocr... — committed to rfjakob/gocryptfs by rfjakob 6 years ago
- darwin: use simpleHandleMap that never reuses handle numbers Implement simpleHandleMap that never reuses handle numbers and uses a simple map to track handle numbers. This hopefully works around the... — committed to rfjakob/go-fuse by rfjakob 6 years ago
- darwin: use simpleHandleMap that never reuses handle numbers Implement simpleHandleMap that never reuses handle numbers and uses a simple map to track handle numbers. This seems to get rid of the ... — committed to rfjakob/go-fuse by rfjakob 6 years ago
Ouch, my bad! I was still using the executable installed by homebrew. I copied 20GB and used the mount all day for all sorts of stuff and I do not have any issues anymore!
Thanks a lot for your effort, I appreciate it!
I have just released gocryptfs v1.4.4 that contains the fix. Thanks to everybody involved in reporting and testing!
I guess Homebrew will pick up the new version soon - or, for your convenience, and because the issue is quite disrupting, I have uploaded an MacOS build here: gocryptfs_v1.4.4_macos.tar.gz
What about something around the following ?
find . -xdev -exec rm -rf {} \;I have fixed the
extractloop.bashstress test to work on MacOS and I can reproduce theosxfuse: vnode changed generationproblem with it.As it does not only affect gocryptfs, this is probably a problem between the go-fuse library an osxfuse. I have asked for ideas at https://github.com/hanwen/go-fuse/issues/204 .
Quick question: are you both on high sierra?
I try to get my hands on a mac box.