rsync 2.6.1cvs dumps core when preserve_hard_links and backup
Shinichi Maruyama
marya at st.jip.co.jp
Tue Feb 10 04:40:48 GMT 2004
I tried rsync 2.6.1cvs on my FreeBSD 4.X boxes.
It dumps core when preserve_hard_links and backup.
And SUPPORT_HARD_LINKS is true.
rsync -avH --delete --backup --backup-dir=/some/backup/dir \
srchost::dir/ dir/
The core says...
------------------------------------------------------------------------
Program terminated with signal 11, Segmentation fault.
#0 0x80536c0 in keep_backup (fname=0x808f060 "rsync.core") at backup.c:266
266 if (!kept && preserve_hard_links && file->link_u.links
(gdb) where
#0 0x80536c0 in keep_backup (fname=0x808f060 "rsync.core") at backup.c:266
#1 0x80537c9 in make_backup (fname=0x808f060 "rsync.core") at backup.c:297
#2 0x804c003 in delete_files (flist=0x8096100) at receiver.c:112
#3 0x805028c in do_recv (f_in=3, f_out=3, flist=0x8096100, local_name=0x0)
at main.c:434
#4 0x805093c in client_run (f_in=3, f_out=3, pid=-1, argc=1, argv=0x8095004)
at main.c:666
(gdb) p *file
$1 = {modtime = 1076386251, length = 577536, mode = 33152, u = {rdev = 0, sum = 0x0,
link = 0x0}, link_u = {idev = 0x80d1734, links = 0x80d1734},
basename = 0x80d1744 "rsync.core", dirname = 0x0, basedir = 0x0, uid = 0, gid = 0,
flags = 0 '\000'}
------------------------------------------------------------------------
In file backup.c.
266 if (!kept && preserve_hard_links && file->link_u.links
267 && hlink_list[file->F_HLINDEX] != file) {
268 if (verbose > 1)
269 rprintf(FINFO, "%s is a hard link\n", f_name(file));
270 }
file->link_u.links (and also file->F_HLINDEX) has some values,
but no meanings because it's only an union with file->link_u.idev.
It may be
if (!kept && preserve_hard_links && file->u.link) {
or some ?
--
Yes, I'm in panic.
Shinichi Maruyama (marya at st.jip.co.jp)
More information about the rsync
mailing list