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