Title: Message

I’ve written a GUI for using rsync on windows machines for third-party use. The project has reached a beta state and is now being tested in live situations. However, during these tests, I’ve encountered some odd behavior with specific pathnames.

 

For the record: I’m currently using a cygwin distribution which includes rsync 2.6.3 to run rsync on Windows machines. The remote server is running a rsync 2.6.3 deamon through xinetd on a Fedora Core 2 machine.

 

Also for the record: the behavior occurs only when transferring (downloading) from the server to the client (Linux to Windows) never when transferring (uploading) from the client to the server.

 

When I start rsync using the following command:

 

rsync.exe --archive --delete --exclude="~$*" --exclude="*.bak" –vvv "[EMAIL PROTECTED]::module/1/1100190900/d/Users Shared Folders/DOC VdeM/Bestuur VdeM/" "/cygdrive/c/temp/"

 

rsync dies while building the file list:

 

overflow: flags=0x38 l1=180 l2=84 lastname=1/1099999800/current/d/Users Shared Folders/Gebruikers/USERS VdeM total oude server/Archief ex-medewerkers/Jeffrey Colley/VdeMsite/Kopie van 213_136_VdeM(0)/213.136.9.125/VdeM/PMS

 

ERROR: buffer overflow in receive_file_entry

rsync error: error allocating core memory buffers (code 22) at /home/lapo/packaging/tmp/rsync-2.6.3/util.c(126)

_exit_cleanup(code=22, file=/home/lapo/packaging/tmp/rsync-2.6.3/util.c, line=126): about to call exit(22)

 

While this error should get some attention by my opinion, this error is however, probably the result from another error:

 

I am trying to transfer from this path:

module/1/1100190900/d/ …

the error generated, occurs in this path:

module/1/1099999800/current/ …

 

Additionally, the server gives a “Connection Reset”. Prior to this, some correct “permission denied” errors can be found.

 

Although I don’t know why this error occurs, I might have an explanation.

I stumbled on this problem while trying the following:

 

rsync.exe  --archive --exclude="~$*" --exclude="*.bak" -v "[EMAIL PROTECTED]::module/1/1100190900/d/Users Shared Folders/DOC Vde M/Bestuur VdeM/Bestuur 2004/03-11-04/B-BV-v-041103-verslag-bestuursvergadering.doc" "/cygdrive/c/documents and settings/eric/desktop/b-bv-v-041103-verslag-bestuursvergadering.doc"

 

The client dies with the comment “nothing to do” but believe me, the file is there. The rsync server log tells a complete different story:

 

2004/11/15 13:25:14 [20736] link_stat "1/1100190900/d/Users Shared Folders/DOC Vde M/Bestuur" (in module) failed: No such file or directory

2004/11/15 13:25:14 [20736] link_stat "Bestuur 2004/03-11-04/B-BV-v-041103-verslag-bestuursvergadering.doc" (in module) failed: No such file or directory

2004/11/15 13:25:14 [20736] rsync error: some files could not be transferred (code 23) at main.c(397)

 

After this error, I tried to copy a complete directory which caused the first mentioned problem. It appears that the pathname somehow gets misinterpreted and split into two separates. Which in this last case, causes not existing path-/filenames. If this same pathseparation occurs in the first case, it might explain its behaviour to start working on “module/” or whatever.

 

In short:

 

It appears that rsync misinterprets certain pathnames, splits them up to start working on them separately.

Doing so, in my case, might have caused an additional error while receiving files. Either because of the “path separation” itself or because the working on millions est. of files or it might be a completely other bug. (transferring “xxxxxxxx/d/Users Shared Folders/Gebruikers/USERS VdeM total oude server/Archief ex-medewerkers/Jeffrey Colley/” did not cause any problems but that might be because the pathnames are shorter because of relativity)

 

Although I’m a developer myself, my experience with C(++) is VERY limited so haven’t tried to debug rsync myself as I haven’t got a clue where to start.

Any suggestions, fixes or support in anyway will be greatly appreciated.

 

Regards,

Eric van Blokland

 

PS:

I mentioned that I had no problems transferring from Windows to Linux, this I true except for one rare occasion with the system. This is a minor inconvenience.

The directory /cygdrive/d/Users Shared Folders/ gets transferred (Windows to Linux). This path contains the directory “Gebruikers VdeM”. This directory will be created on the server, however, additionally the directory “Gebruikers” gets created (which doesn’t exist on the client) and the contents of “Gebruikers VdeM” will be transferred there instead. I mention this (bug?) here as well, because it might be related.

-- 
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to