Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process
On Mon 03 Mar 2008, Wayne Davison wrote: On Mon, Mar 03, 2008 at 01:50:28PM -0800, Wayne Davison wrote: I'll fix the NULL and look to get a test for this added. The git repository has both the fix and the extended test. Attached is just the NULL-pointer fix. Confirmed that it now works for that case. The other issue in the bug report is something else, but as that happens when using 3.0.0 going to the 2.6.8 version running at rsync.net, it's pretty impossible to debug. Apparently the remote rsync simply dies immediately when presented with the 3.0.0 client connection. As reproducing the setup with 3.0.0 and 2.6.8 works fine for me, I'm going to mark it unreproducible, it's probably a problem at rsync.net. Thanks for your help! I think I should be thanking you for the quick fix :) Paul Slootman -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process
On Tue, Mar 04, 2008 at 06:20:21PM +0100, Paul Slootman wrote: The other issue in the bug report is something else, but as that happens when using 3.0.0 going to the 2.6.8 version running at rsync.net It sounds like they're running something like the support/rrsync validation script, which reminded me that I hadn't updated it to handle the most modern use of the -e option to communicate some extra flags to the server. The git repository now has an updated rrsync script. ..wayne.. -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
rsync 3.0.0 apparently crashing when running a single-use daemon server process
The long story: http://bugs.debian.org/469172 The short story: it looks like client_info is NULL at compat.c:90, if I look at the strace and ltrace output supplied in the above URL. Perhaps someone can investigate further, I don't have much time this evening. Tomorrow I can look again Paul Slootman -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process
On Mon, Mar 03, 2008 at 09:16:46PM +0100, Paul Slootman wrote: The short story: it looks like client_info is NULL at compat.c:90, if I look at the strace and ltrace output supplied in the above URL. No, looks like the problem is a NULL config_file var. If rsync had been called with --rsync-path=rsync --config=FILE, it would work. Sadly, my only attempt at an automated test passes in an explicit config file. I'll fix the NULL and look to get a test for this added. ..wayne.. -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: rsync 3.0.0 apparently crashing when running a single-use daemon server process
On Mon, Mar 03, 2008 at 01:50:28PM -0800, Wayne Davison wrote: I'll fix the NULL and look to get a test for this added. The git repository has both the fix and the extended test. Attached is just the NULL-pointer fix. Thanks for your help! ..wayne.. --- a/clientserver.c +++ b/clientserver.c @@ -864,6 +864,17 @@ static void send_listing(int fd) io_printf(fd,@RSYNCD: EXIT\n); } +static int load_config(int globals_only) +{ + if (!config_file) { + if (am_server am_root = 0) + config_file = RSYNCD_USERCONF; + else + config_file = RSYNCD_SYSCONF; + } + return lp_load(config_file, globals_only); +} + /* this is called when a connection is established to a client and we want to start talking. The setup of the system is done from here */ @@ -879,7 +890,7 @@ int start_daemon(int f_in, int f_out) * might cause log-file output to occur. This ensures that the * log file param gets honored for the 2 non-forked use-cases * (when rsync is run by init and run by a remote shell). */ - if (!lp_load(config_file, 0)) + if (!load_config(0)) exit_cleanup(RERR_SYNTAX); addr = client_addr(f_in); @@ -988,13 +999,6 @@ static void become_daemon(void) int daemon_main(void) { - if (!config_file) { - if (am_server am_root = 0) - config_file = RSYNCD_USERCONF; - else - config_file = RSYNCD_SYSCONF; - } - if (is_a_socket(STDIN_FILENO)) { int i; @@ -1009,7 +1013,7 @@ int daemon_main(void) return start_daemon(STDIN_FILENO, STDIN_FILENO); } - if (!lp_load(config_file, 1)) { + if (!load_config(1)) { fprintf(stderr, Failed to parse config file: %s\n, config_file); exit_cleanup(RERR_SYNTAX); } -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html