samba-bugs@samba.org
2006-May-07 14:25 UTC
DO NOT REPLY [Bug 3764] New: mkdir "test\#366" failed: Invalid argument (22) on Mac OS X 10.4 (Intel)
https://bugzilla.samba.org/show_bug.cgi?id=3764 Summary: mkdir "test\#366" failed: Invalid argument (22) on Mac OS X 10.4 (Intel) Product: rsync Version: 2.6.8 Platform: x86 OS/Version: Mac OS X Status: NEW Severity: major Priority: P3 Component: core AssignedTo: wayned@samba.org ReportedBy: thl@lothosoft.ch QAContact: rsync-qa@samba.org I tried to rsync the following file structure BaseFolder/ test (file) testä (file) testö/ (folder) test (file) from 3 different systems to a MacMini with standard installation of Mac OS X 10.4 (Tiger) plus Apple's XCode tools and DarwinPort. I tried 2 different version of rsync on the MacMini: - /opt/local/bin/rsync, version 2.6.3, the version shipped with Apple Mac OS X - /usr/bin/rsync, version 2.6.8, freshly downloaded and compiled (no errors during compilation) The effects were the same with both versions. (1) From the Apple iBook (G4, PPC) with Mac OS X 10.4 (Tiger), the whole structure was transmitted correctly. (2) From the i386 computer running SUSE Linux 9.0 with rsync 2.6.2, the file "testä" as well as the folder "testö" were not transmitted. The file "test" was transmitted correctly. Here is the log: ---- RSYNC 2.6.8 AS RECEIVER ---- thomas@linux:~> rsync -avz --delete --delete-after --rsh=/usr/bin/ssh --rsync-path="/opt/local/bin/rsync" /home/thomas/BaseFolder backupglis@192.168.0.4:/Users/backupglis/ Password: building file list ... done BaseFolder/ BaseFolder/test BaseFolder/testä rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: No such file or directory (2) BaseFolder/testö/test rsync: mkstemp "/Users/backupglis/BaseFolder/.testä.scj5OW" failed: Invalid argument (22) rsync: mkstemp "/Users/backupglis/BaseFolder/testö/.test.IhyFvq" failed: Invalid argument (22) rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) wrote 253 bytes read 80 bytes 74.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files could not be transferred (code 23) at main.c(633) ---- RSYNC 2.6.3 AS RECEIVER ---- thomas@linux:~> rsync -avz --delete --delete-after --rsh=/usr/bin/ssh --rsync-path="/usr/bin/rsync" /home/thomas/BaseFolder backupglis@192.168.0.4:/Users/backupglis/ Password: building file list ... done BaseFolder/ BaseFolder/test BaseFolder/testä rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: No such file or directory (2) BaseFolder/testö/test rsync: mkstemp "/Users/backupglis/BaseFolder/.testä.yzWMAy" failed: Invalid argument (22) rsync: mkstemp "/Users/backupglis/BaseFolder/testö/.test.qMm01P" failed: Invalid argument (22) rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) wrote 253 bytes read 80 bytes 133.20 bytes/sec total size is 0 speedup is 0.00 rsync error: some files could not be transferred (code 23) at main.c(633) ---- END ---- (3) From the i386 computer running Windows XP with cwRsync 2.0.7 (containing rsync 2.6.8), the transfer of "testä" and "testö" failed as well. The error messages were the same as before. The file "test" was correctly transmitted. Here is the log: ---- WITH -8 OPTION ---- C:\Programme\cwRsync\bin>rsync -av -8 --delete --rsync-path="/opt/local/bin/rsync" "/cygdrive/c/Dokumente und Einstellungen/Thomas/Desktop/BaseFolder" backupglis@192.168.0.4:/Users/backupglis/ building file list ... done BaseFolder/ BaseFolder/test BaseFolder/testä BaseFolder/testö/ rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: No such file or directory (2) BaseFolder/testö/test rsync: mkstemp "/Users/backupglis/BaseFolder/.testä.HdwIzE" failed: Invalid argument (22) rsync: mkstemp "/Users/backupglis/BaseFolder/testö/.test.ZrunOS" failed: Invalid argument (22) rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/testö" failed: Invalid argument (22) sent 315 bytes received 98 bytes 275.33 bytes/sec total size is 16 speedup is 0.04 rsync error: some files could not be transferred (code 23) at main.c(892) [sender=2.6.8] ---- WITHOUT -8 OPTION ---- C:\Programme\cwRsync\bin>rsync -av --delete --rsync-path="/opt/local/bin/rsync" "/cygdrive/c/Dokumente und Einstellungen/Thomas/Desktop/BaseFolder" backupglis@192.168.0.4:/Users/backupglis/ building file list ... done BaseFolder/ BaseFolder/test BaseFolder/test\#344 BaseFolder/test\#366/ rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/test\#366" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/test\#366" failed: No such file or directory (2) BaseFolder/test\#366/test rsync: mkstemp "/Users/backupglis/BaseFolder/.test\#344.02o4ow" failed: Invalid argument (22) rsync: mkstemp "/Users/backupglis/BaseFolder/test\#366/.test.EdzeQU" failed: Invalid argument (22) rsync: recv_generator: mkdir "/Users/backupglis/BaseFolder/test\#366" failed: Invalid argument (22) rsync: stat "/Users/backupglis/BaseFolder/test\#366" failed: Invalid argument (22) sent 315 bytes received 98 bytes 275.33 bytes/sec total size is 16 speedup is 0.04 rsync error: some files could not be transferred (code 23) at main.c(892) [sender=2.6.8] ---- END ---- This looks like a charset problem to me. Thomas -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2006-May-07 20:42 UTC
DO NOT REPLY [Bug 3764] mkdir "test\#366" failed: Invalid argument (22) on Mac OS X 10.4 (Intel)
https://bugzilla.samba.org/show_bug.cgi?id=3764 wayned@samba.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |LATER ------- Comment #1 from wayned@samba.org 2006-05-07 15:41 MST ------- This is a limitation of the MacOS operating system in that it rejects some sequences of high-bit characters (presumably sequences that aren't valid UTF-8). Rsync does not currently have any facilities for trying to change names from one character set to another, so it just sends the names it gets from one side to the other. Your options are to (1) use the same character-set encoding on both systems (it's pretty easy to change a linux system over to using UTF-8) (2) don't use high-bit characters in your names, (3) look into the iconv.diff patch that is a early version of the --iconv=CHARSETS option (the patch handles converting between character sets for filenames in the file list, but does not yet handle filesnames specified on the command-line, nor include/exclude directives). Since you may want to keep your Apple-modified rsync, the 1st of these solutions is probably the easiest for you. In the future rsync will ship with the --iconv option that will allow the conversion of filenames from one system's encoding to another. -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2006-May-07 21:41 UTC
DO NOT REPLY [Bug 3764] mkdir "test\#366" failed: Invalid argument (22) on Mac OS X 10.4 (Intel)
https://bugzilla.samba.org/show_bug.cgi?id=3764 ------- Comment #2 from thl@lothosoft.ch 2006-05-07 16:41 MST ------- Thanks for the quick reply. I can live with option (3). But where is the iconv.diff file? I couldn't find it in the CVS tree ... A suggestion regarding this charset issue: A protocol like rsync should do one of the following things: (a) Agree on a character set/encoding at connection setup (handshaking). (b) Define a character set/encoding to be used for ALL rsync transmissions, e.g. Unicode/UTF-8. This does not affect parameters on the command line (they should be treated with the charset used on that machine). What needs to be adjusted is how the file list is transmitted over the network. If implemented in this way, the charset conversion is completely transparent to the user (the way it should be). Correct me if I'm wrong ... Thomas -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2006-May-08 00:18 UTC
DO NOT REPLY [Bug 3764] mkdir "test\#366" failed: Invalid argument (22) on Mac OS X 10.4 (Intel)
https://bugzilla.samba.org/show_bug.cgi?id=3764 ------- Comment #3 from wayned@samba.org 2006-05-07 19:17 MST ------- (In reply to comment #2)> But where is the iconv.diff file?Did you try googling for "rsync iconv.diff"? (You would have found it in the first item returned.) Because the patch is still incomplete, it is not yet included in the patches dir (I am hoping to avoid having any packagers use it before it is really ready).> A protocol like rsync should do one of the following things: > (a) Agree on a character set/encoding at connection setup (handshaking). > (b) Define a character set/encoding to be used for ALL rsync transmissions, > e.g. Unicode/UTF-8.There has been a huge amount of design that has gone into the iconv.diff patch, so I believe I have this solved. (FYI, option "b" is used due to the non-portability of character-set naming strings between OSes.)> This does not affect parameters on the command lineIt very much affects parameters on the command line when specifying remote filenames to pull, when specifying a remote destination directory when pushing files, and when pulling "virtual command-line names" specified via the --files-from option (none of which are translated in the current patch). -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.