rsync 2.6.5 segfault using --fuzzy & --link-dest

Erik Jan Tromp betageek at
Sat Jun 11 18:05:48 GMT 2005

On Sat, 11 Jun 2005 09:03:07 -0700
Wayne Davison <wayned at> wrote:

> On Fri, Jun 10, 2005 at 05:14:57AM -0400, Erik Jan Tromp wrote:
> > if I remove every possible option except --fuzzy & --link-dest,
> > segfault every time.
> I haven't seen that in my testing.  One easy thing to do is to make sure
> that core dumping is enabled and look at a backtrace:
> ulimit -c unlimited
> /path/to/non-stripped/rsync ...
> gdb /path/to/non-stripped/rsync /path/to/core
> bt

Concise directions.. perfect.

> The backtract (bt) command will tell us where the program is crashing,
> and should help me to find the bug.  Note that a non-stripped rsync can
> be found in the build dir, and that the core file will probably be in
> the destination directory of your pull transfer.

Source tree was wiped after I packaged, so did a quick rebuild & tossed the non-stripped bin in ~/bin/. No dev tools on oxygen (backup server), so into ~/bin/ for gdb as well. 

Following is a complete dump.

-- 8< --

[root at oxygen ~]# ulimit -c unlimited
[root at oxygen ~]# ~/bin/rsync --archive --delete-during --fuzzy --hard-links --nu
meric-ids --quiet --sparse --temp-dir /backup/helium/ --link-dest /backup/hydrog
en/saturday/ --password-file /backup/helium/.password rsync://backup@helium/back
up/ /backup/helium/saturday/
Segmentation fault (core dumped)
[root at oxygen ~]# ~/bin/gdb ~/bin/rsync /backup/helium/saturday/core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db libr
ary "/lib/".
Core was generated by `/root/bin/rsync --archive --delete-during --fuzzy --hard-
links --numeric-ids --'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/
Loaded symbols for /usr/lib/
Reading symbols from /lib/
Loaded symbols for /lib/
Reading symbols from /lib/
Loaded symbols for /lib/
Reading symbols from /lib/
Loaded symbols for /lib/
Reading symbols from /lib/
Loaded symbols for /lib/
#0  0x08060566 in flist_find ()
(gdb) bt
#0  0x08060566 in flist_find ()
#1  0x0804c6cd in recv_generator ()
#2  0x0804db9a in generate_files ()
#3  0x08056390 in do_recv ()
#4  0x08056942 in client_run ()
#5  0x0806ab2b in start_socket_client ()
#6  0x08056e9f in start_client ()
#7  0x080573fd in main ()
(gdb) quit

-- 8< --


"I really want a license to do just two things: make the code available
to others, and make sure that improvements stay that way. That's really
it. Nothing more, nothing less. Everything else is fluff."
 -- Linus Torvalds

More information about the rsync mailing list