make fails all versions 2.4.8 on older linux machine(clientname.o)
hi i'm trying to update an older rsync version due to some minor errors during syncing with an up to date version (2.5.6) of rsync. my problem is that the make process actually won't finish, here is the output: clientname.c: In function `client_addr': clientname.c:72: warning: implicit declaration of function `getnameinfo' clientname.c:73: `NI_NUMERICHOST' undeclared (first use this function) clientname.c:73: (Each undeclared identifier is reported only once clientname.c:73: for each function it appears in.) clientname.c: In function `lookup_name': clientname.c:229: `NI_NAMEREQD' undeclared (first use this function) clientname.c:229: `NI_NUMERICSERV' undeclared (first use this function) clientname.c:234: warning: implicit declaration of function `gai_strerror' clientname.c:234: warning: format argument is not a pointer (arg 4) clientname.c: In function `check_name': clientname.c:329: warning: format argument is not a pointer (arg 4) make: *** [clientname.o] Error 1 i searched on newsgroups about this problem, i found 1-2 posts with exactly the same problem... but no solution :( so i try this here again. i tried to compile older version, the latest that work is 2.4.8 but this hane haso some errors for me to, and i really ned an fully functional version. the system is a linux suse 6.1, so it is a little bit old but i can't switch this one cause it is still in use. does someone know how to solve this problem, or at least to what it is related? best regards sam -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
patch to use pipe if socketpair fails
Hi, if socketpair support has been compiled in but the host where rsync is run doesn't support it, you get error pipe failed in do_recv This patch makes rsync use pipe if socketpair fails. Yours, Harri Järvi CC me if you reply to this thread since I'm not on the mailing list --- rsync-2.5.5/util.c Wed Mar 20 03:09:49 2002 +++ util.c Thu Jul 24 13:11:45 2003 @@ -71,6 +71,10 @@ #if HAVE_SOCKETPAIR ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fd); +if (ret != 0) { +perror(socketpair failed. trying pipe); +ret = pipe(fd); +} #else ret = pipe(fd); #endif -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
rsync error: error in socket IO (code 10) at io.c(423)
Hi guys, anyone ever seen that kind of error? ESNW01:rsync -vruzt --delete 10.1.1.10::SITE/aodat vol1:/progstest Loading module RSYNC.NLM RSync 2.5.5 Version 2.55July 10, 2003 Copyright 2003 Andrew Tridgell, Paul Mackerras, Martin Pool (1013) read_timeout: Error peer socket closed fd = 103 (1013) rsync error: error in socket IO (code 10) at io.c(423) Trying to sync a directory between two NW 5.1 Sp6 server. Any suggestions are welcome thanks a lot Marcus -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: SIGCHLD SIG_IGN, then wait - warning messages
What is the status on this? Is it being considered, or just ignored? Some (any) response would be appreciated :) If access to the bug is an issue, I can attach it - just let me know. Thanks. -- Hardy Merrill Red Hat, Inc. Hardy Merrill [EMAIL PROTECTED] wrote: Rsync maintainers please review rsync bug https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=98740 The code in question is in socket.c in start_accept_loop. The user is getting these warning messages: - Jul 8 12:56:59 ftp kernel: application bug: rsync(1051) has SIGCHLD set to SIG_IGN but calls wait(). Jul 8 12:56:59 ftp kernel: (see the NOTES section of 'man 2 wait'). Workaround activated. - I was able to reproduce that error with rsync server and client on Red Hat OS's on a fairly consistent basis by running an rsync server (rsync version 2.5.6 protocol version 27 from cvs 7/14) from the command line (rsync --daemon), and connecting with an rsync-2.4.6 client with this command: rsync -avv my.server.com::test/one /tmp/rsync_test I also produced the same error by using the same command from an rsync-2.5.6 protocol version 26 client. Here is my /etc/rsyncd.conf file: - log file = /var/log/rsync [test] uid = rsync1 gid = rsync1 path = /rsync_test comment = Rsync Test - Comment - Quoting one of the bug messages, These messages are a warning that rsync is not standards compliant with respect to its handling of child processes. According to POSIX (3.3.1.3) it is unspecified what happens when SIGCHLD is set to SIG_IGN. This code in socket.c: - signal(SIGCHLD, SIG_IGN); /* we shouldn't have any children left hanging around but I have had reports that on Digital Unix zombies are produced, so this ensures that they are reaped */ #ifdef WNOHANG while (waitpid(-1, NULL, WNOHANG) 0); #endif - sets SIGCHLD to SIG_IGN, and *then* waits if WNOHANG is defined. It would appear that if there are still children left to be cleaned up in Digital Unix after setting SIGCHLD to SIG_IGN, that there might be a bug in Digital Unix that rsync is coding a fix for. One coding change could be to change the #ifdef WNOHANG to a #ifdef Digital Unix string, so that only Digital Unix OS's would include and execute the waitpid. This would stop warning messages from being produced. Thanks. -- Hardy Merrill Red Hat, Inc. -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
rsync to do a diff b/n src and dst.
Hi All, I am very new to rsync and i wanted to use it to be able to do a diff. between source and destination directories. It should basically compare destination files with source and also recurse through all the files in the subdirectories. I do not intend to use this to copy files as i already have a tested script which does this. But if the option to compare is availaible only during copying then i would like to know about it. Any help regarding this would be greatly appreciated. Thanks, Sid -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: patch to use pipe if socketpair fails
On Thu, Jul 24, 2003 at 01:22:58PM +0300, Harri J{rvi wrote: Hi, if socketpair support has been compiled in but the host where rsync is run doesn't support it, you get error pipe failed in do_recv Rejected. Build for the platform. If you are doing a cross-platform build either use options to ./configure or modify config.h to match the target OS. This patch makes rsync use pipe if socketpair fails. Yours, Harri Järvi CC me if you reply to this thread since I'm not on the mailing list Ick! -- J.W. SchultzPegasystems Technologies email address: [EMAIL PROTECTED] Remember Cernan and Schmitt -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: rsync error: error in socket IO (code 10) at io.c(423)
On Thu, Jul 24, 2003 at 01:26:45PM +0200, Marcus Forthuber wrote: Hi guys, anyone ever seen that kind of error? ESNW01:rsync -vruzt --delete 10.1.1.10::SITE/aodat vol1:/progstest Loading module RSYNC.NLM RSync 2.5.5 Version 2.55July 10, 2003 Copyright 2003 Andrew Tridgell, Paul Mackerras, Martin Pool (1013) read_timeout: Error peer socket closed fd = 103 (1013) rsync error: error in socket IO (code 10) at io.c(423) Trying to sync a directory between two NW 5.1 Sp6 server. Any suggestions are welcome thanks a lot The rsync on netware is heavily modified. You will need to ask Novell for support on their binary. -- J.W. SchultzPegasystems Technologies email address: [EMAIL PROTECTED] Remember Cernan and Schmitt -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: SIGCHLD SIG_IGN, then wait - warning messages
On Thu, Jul 24, 2003 at 09:09:48AM -0400, Hardy Merrill wrote: What is the status on this? Is it being considered, or just ignored? Some (any) response would be appreciated :) If access to the bug is an issue, I can attach it - just let me know. Thanks. -- Hardy Merrill Red Hat, Inc. Hardy Merrill [EMAIL PROTECTED] wrote: Rsync maintainers please review rsync bug https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=98740 The code in question is in socket.c in start_accept_loop. The user is getting these warning messages: - Jul 8 12:56:59 ftp kernel: application bug: rsync(1051) has SIGCHLD set to SIG_IGN but calls wait(). Jul 8 12:56:59 ftp kernel: (see the NOTES section of 'man 2 wait'). Workaround activated. - I was able to reproduce that error with rsync server and client on Red Hat OS's on a fairly consistent basis by running an rsync server (rsync version 2.5.6 protocol version 27 from cvs 7/14) from the command line (rsync --daemon), and connecting with an rsync-2.4.6 client with this command: rsync -avv my.server.com::test/one /tmp/rsync_test I also produced the same error by using the same command from an rsync-2.5.6 protocol version 26 client. Here is my /etc/rsyncd.conf file: - log file = /var/log/rsync [test] uid = rsync1 gid = rsync1 path = /rsync_test comment = Rsync Test - Comment - Quoting one of the bug messages, These messages are a warning that rsync is not standards compliant with respect to its handling of child processes. According to POSIX (3.3.1.3) it is unspecified what happens when SIGCHLD is set to SIG_IGN. My wait(2) manpage reads: | NOTES | The Single Unix Specification describes a flag | SA_NOCLDWAIT (not supported under Linux) such that if | either this flag is set, or the action for SIGCHLD is set to | SIG_IGN (which, by the way, is not allowed by POSIX), then | children that exit do not become zombies and a call to | wait() or waitpid() will block until all children have | exited, and then fail with errno set to ECHILD. This looks like the behaviour is defined in the manpage it is only POSIX that has a problem with it. In fact the NOTES indicate that the Linux kernel is not POSIX compliant on this point. POSIX is obsolete as a standard, if it could ever be said to have qualified as one. Please refer to SUSv3 for any issues regarding standards compliance. Per SUSv3 and IEEE Std 1003.1, 2003 Edition regarding setting SIGCHLD to SIG_IGN: | If the action for the SIGCHLD signal is set to SIG_IGN, | child processes of the calling processes shall not be | transformed into zombie processes when they terminate. and regarding calling wait under those conditions: | If the calling process has SA_NOCLDWAIT set or has SIGCHLD | set to SIG_IGN, and the process has no unwaited-for children | that were transformed into zombie processes, the calling | thread shall block until all of the children of the process | containing the calling thread terminate, and wait() and | waitpid() shall fail and set errno to [ECHILD] This code in socket.c: - signal(SIGCHLD, SIG_IGN); /* we shouldn't have any children left hanging around but I have had reports that on Digital Unix zombies are produced, so this ensures that they are reaped */ #ifdef WNOHANG while (waitpid(-1, NULL, WNOHANG) 0); #endif - sets SIGCHLD to SIG_IGN, and *then* waits if WNOHANG is defined. It would appear that if there are still children left to be cleaned up in Digital Unix after setting SIGCHLD to SIG_IGN, that there might be a bug in Digital Unix that rsync is coding a fix for. This code is within the scope of compliance for current standards. If you have a specific patch that reorders these and still fixes the Digital UNIX bug i'll consider it but i this is not a priority. One coding change could be to change the #ifdef WNOHANG to a #ifdef Digital Unix string, so that only Digital Unix Absolutely not. The conditional compilation is
Re: SIGCHLD SIG_IGN, then wait - warning messages
On Thu, Jul 24, 2003 at 12:27:04PM -0700, Wayne Davison wrote: On Thu, Jul 24, 2003 at 09:09:48AM -0400, Hardy Merrill wrote: What is the status on this? I finally educated myself on this issue, and would like to propose a patch. Since there are reports that zombies can get created when using SIG_IGN on FreeBSD as well as other unices, I think we should change the code to catch the signal and cleanup the zombies in the signal handler. This would make the code similar to the handling in main.c. ..wayne.. Something along these lines might be appropriate. I did a little more digging as a result of your message here and it looks like this routine should either be setting up it's own signal handler or integrate with wait_process and the signal hander in main(). Repeatedly setting SICHGLD to SIG_IGN is dumb. --- socket.c 27 Jan 2003 03:35:09 - 1.84 +++ socket.c 24 Jul 2003 19:25:05 - @@ -374,6 +374,14 @@ } +static RETSIGTYPE sigchld_handler(int UNUSED(val)) { + signal(SIGCHLD, sigchld_handler); +#ifdef WNOHANG + while (waitpid(-1, NULL, WNOHANG) 0) {} +#endif +} + + void start_accept_loop(int port, int (*fn)(int, int)) { int s; @@ -419,14 +427,7 @@ if (fd == -1) continue; - signal(SIGCHLD, SIG_IGN); - - /* we shouldn't have any children left hanging around -but I have had reports that on Digital Unix zombies -are produced, so this ensures that they are reaped */ -#ifdef WNOHANG -while (waitpid(-1, NULL, WNOHANG) 0); -#endif + signal(SIGCHLD, sigchld_handler); if ((pid = fork()) == 0) { int ret; -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html -- J.W. SchultzPegasystems Technologies email address: [EMAIL PROTECTED] Remember Cernan and Schmitt -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Rsync in cygwin as service --bwlimit=Ignored
I am running Rsync as a service under windows2000 The --bwlimit option causes cygrunsrv service to fail if included during setup of the service: $ cygrunsrv -I RSYNC -p /usr/bin/rsync.exe -a '--config=/etc/rsyncd.conf --daemon --bwlimit=64' $ cygrunsrv -S rsync cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started. But without the option it works: $ cygrunsrv -I RSYNC -p /usr/bin/rsync.exe -a '--config=/etc/rsyncd.conf --daemon --no-detach' $ cygrunsrv -S rsync $ cygrunsrv -Q rsync Service rsync exists Type: Own Process Current State : Running Controls Accepted : Accept Stop Also, the --bwlimit option seems to be ignored under windows. $ rsync -v ./* berowneo::temp --bwlimit=64 BEPLog.txt Ossize.txt SwitchBEPServer.Log VerifydbResultsPostProcess.txt VerifydbResultsPreProcess.txt wrote 608 bytes read 462 bytes 2140.00 bytes/sec total size is 38419 speedup is 35.91 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ~/bep/log $ rsync -v ./* berowneo::temp --bwlimit=6400 BEPLog.txt Ossize.txt SwitchBEPServer.Log VerifydbResultsPostProcess.txt VerifydbResultsPreProcess.txt wrote 610 bytes read 462 bytes 2144.00 bytes/sec total size is 38419 speedup is 35.84 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ~/bep/log $ rsync -v ./* berowneo::temp --bwlimit=6 BEPLog.txt Ossize.txt SwitchBEPServer.Log VerifydbResultsPostProcess.txt VerifydbResultsPreProcess.txt wrote 607 bytes read 462 bytes 2138.00 bytes/sec total size is 38419 speedup is 35.94 Thanks. Berowne Hlavaty Technical Consultant Barra International Ltd +61-2-9220-9303 [EMAIL PROTECTED] -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html