The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)

2,077 views
Skip to first unread message

macuser

unread,
Dec 6, 2011, 11:35:51 AM12/6/11
to osxfus...@googlegroups.com
Hi,
could anyone help with the following error? 
I discovered sometime ago, after 10.6.8 update, that I can no longer copy files to ftp (mounted via MacFusion/MacFuse) from Finder. Error reads as 
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)
and only 0kb file is created.
So I installed CurlFtpFs via macports (ports compiled it against macfuse) and then I could mount ftp with allow_others flag,
/opt/local/bin/curlftpfs -o allow_other macuser:PA$$WORD_at_some.ftp.server mount
which helped. 
Then I switched to 64-bit mode, and I realized that macfuse is broken. So I Installed the unofficial 2.1.7-64 bit version, but it does not allow writing with the same error as in 32bit mode.
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)
CurlFtpFs can only be compiled against Fuse4X in 64-bit mode, but then it is mounted as read-only drive in Finder. 
I discovered OSXFuse, but it did not help either with 
this MacFUSE library version is incompatible with the MacFUSE kernel extension
So I decided that ftp is more important, than 64-bit mode and rebooted back to 32-bit. I guess, I could restore macfusion and my previous setup, but I would not really like to go on with this dead project.  Now I can mount with  CurlFtpFs/OS with macfuse from macports, but this is 2.0.3 - gives write-protected volume (As I say I need to remove OSXfuse and restore macfuse 2.1.5).
I can mount with macfusion/osxfuse, but it yields the same 
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)
and only 0kb file is created. OnebuttonFTP or TextWrangler have no problems with this ftp server. 
Is there any ftpfs or curlftpfs compiled against osxfuse? (I can compile myself, outside macports, but I would like to know what linking options towards osxfuse?) May be anyone knows how to supply 
 allow_others flag to macfusion? Or am I missing somthing? 
Help, please!

Benjamin Fleischer

unread,
Dec 6, 2011, 3:39:29 PM12/6/11
to osxfus...@googlegroups.com
Hi,

Am 06.12.2011 um 17:35 schrieb macuser:

Hi,
could anyone help with the following error? 
I discovered sometime ago, after 10.6.8 update, that I can no longer copy files to ftp (mounted via MacFusion/MacFuse) from Finder. Error reads as 
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)
and only 0kb file is created.

That sounds very much like an error you will get in Lion as a result of a permission change in Finder. In case of Lion allow_other "fixed" that. allow_other is required if the mount point of the FUSE file system does not belong to your user or if you don't have the proper permissions to access the mount point.

So I installed CurlFtpFs via macports (ports compiled it against macfuse) and then I could mount ftp with allow_others flag,
/opt/local/bin/curlftpfs -o allow_other macuser:PA$$WORD_at_some.ftp.server mount
which helped. 

MacPorts installed its own copy of MacFUSE 2.0.3. At this point you should have two versions of MacFUSE. The problem with this setup is that the MacPorts version of MacFUSE replaced the kernel extension of your existing MacFUSE 2.1.5 installation but left the 2.1.5 libraries in place. But the 2.1.5 libraries won't work with the 2.0.3 kernel extension. This explains the error "this MacFUSE library version is incompatible with the MacFUSE kernel extension" from below.

Then I switched to 64-bit mode, and I realized that macfuse is broken. So I Installed the unofficial 2.1.7-64 bit version, but it does not allow writing with the same error as in 32bit mode.
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)

This is because your MacPorts version of CurlFtpFS is linked against the MacPorts version of MacFUSE 2.0.3. The unofficial MacFUSE 2.1.7 release (or any other release for that matter) won't replace/update any MacPorts version of MacFUSE. At this point you should get a compatibility warning every time you use a file system installed through MacPorts.

CurlFtpFs can only be compiled against Fuse4X in 64-bit mode, but then it is mounted as read-only drive in Finder.

I don't use Fuse4X but in theory you could install Fuse4X via MacPorts, remove MacPorts' MacFUSE and update your CurlFtpFS port. But please note, Fuse4X is not compatible with MacFUSE.

 I discovered OSXFuse, but it did not help either with 
this MacFUSE library version is incompatible with the MacFUSE kernel extension

Same as above: OSXFUSE does not touch the MacPorts version of MacFUSE 2.0.3 which is used by your MacPorts version of CurlFtpFS. 

So I decided that ftp is more important, than 64-bit mode and rebooted back to 32-bit. I guess, I could restore macfusion and my previous setup, but I would not really like to go on with this dead project.  Now I can mount with  CurlFtpFs/OS with macfuse from macports, but this is 2.0.3 - gives write-protected volume (As I say I need to remove OSXfuse and restore macfuse 2.1.5).
I can mount with macfusion/osxfuse, but it yields the same 
The Finder can’t complete the operation because some data in “filename” can’t be read or written. (Error code -36)
and only 0kb file is created. OnebuttonFTP or TextWrangler have no problems with this ftp server. 

Now I am confused :-)

Is there any ftpfs or curlftpfs compiled against osxfuse? (I can compile myself, outside macports, but I would like to know what linking options towards osxfuse?)

I'm not aware of any special OSXFUSE version of CurlFtpFS but OSXFUSE works fine with Macfusion's version of CurlFtpFS.

May be anyone knows how to supply allow_others flag to macfusion? Or am I missing somthing? 

I don't think it is possible. Extra options can be supplied for SSH but not FTP. But this should not be a problem if you choose a mount point in your home directory or somewhere similar.

Help, please!

Here is how this could be fixed:

  • Remove the MacPorts versions of MacFUSE and CurlFtpFS: port uninstall macfuse curlftpfs
  • Remove MacFUSE by clicking on "Remove MacFUSE" in its Preference Pane. 
  • Reboot your Mac. At this point everything MacFUSE should be gone.
  • Download and install the latest version of OSXFUSE. Important: Select the option "MacFUSE Compatibility Layer" during the installation.
  • Download and install Macfusion.

You should now be able to mount ftp shares using Macfusion or the CurlFtpFS version that comes with it (somewhere in /Applications/Macfusion.app/). Depending on the location of your mount point or your permissions you need to mount the FTP share using Macfusion's CurlFtpFS in Terminal and add the option allow_other. This setup will work in 32 and 64 bit mode. 

In case this does not work for you or you have further questions, feel free to ask.

Regards,
Benjamin

macuser

unread,
Jan 19, 2012, 7:48:08 AM1/19/12
to osxfus...@googlegroups.com
Dear Benjamin,
I do not restart my Mac so often, plus it was all holidays - so I tried your suggestion just now and it does not work... I got rid of the fuse in all incarnations, restarted, installed 2.3.8 from .dmg with the layer, restarted again - and I cannot copy in Finder. It creates a file with the right name, but of 0Kb and then yields 

The Finder can’t complete the operation because some data in “filename” can’t be read or written.
(Error code -36)

I can delete file directly, so it is not write-protected. 
Though I can copy in Terminal (need to remount to see updates). 
I cam also copy to sftp mounts in Finder in a normal way. It is a complete mystery... The curlftpfs from /Applications/Macfusion.app//Contents/PlugIns/ftpfs.mfplugin/Contents/Resources/curlftpfs_static_mg mounts write-protected volumes only, marked as such in Finder.

I will look further.
Thank you for your response and your time ! 


macuser

unread,
Jul 23, 2012, 7:48:56 AM7/23/12
to osxfus...@googlegroups.com
I would like to put a update to this topic:

I got the latest OSXFUSE 2.4.2 version, and 2.0.4 MacFusion. I can seamlessly use ssh to mount shares, however ftp has the same problem as before: write access in Finder gives error -36. 

I have also noted, that write-access in terminal copies files to ftp, but the files change modification date to the time of copying. Note, that the simple ftp client (OneButtonFtp) works correctly - so I do not think it is the problem on the ftp server side. 

Another strange thing I noticed is, that the culftpfs application included into MacFusion does mount only strictly write-protected volumes, e.g. 

sudo /Applications/Macfusion.app/Contents/PlugIns/ftpfs.mfplugin/Contents/Resources/curlftpfs_static_mg -o allow_other,disable_epsv username:pass...@some.ftp.host ./myftp/ 

mounts the volume which displays with a crossed pen in the corner of the Finder window.
Reply all
Reply to author
Forward
0 new messages