hang with rsync 3.0.0pre7 doing local copy

Paul Slootman paul+rsync at wurtel.net
Fri Jan 11 10:18:12 GMT 2008


On Sat 05 Jan 2008, Wayne Davison wrote:

> The best place to start is to dump the file lists from the generator
> (the binary with the am_generator global == 1).  Look at the flist_eof

OK...

(gdb) p am_generator
$1 = 1

> global to see if the generator thinks that it has all the file lists or

(gdb) p flist_eof
$2 = 0

> not.  Output *first_flist and the various *first_flist->next values
> until it goes NULL.  Look for a dir with a non-zero in_progress or
> to_redo value.  If you see some that are non-zero, check to see what
> kind of an update was going on with the files in that dir.  That might

(gdb) p *first_flist
$3 = {next = 0x8ed360, prev = 0x8ed3c0, files = 0xab79c0, sorted = 0xab79c0, 
  file_pool = 0x66f780, pool_boundary = 0x119c628, used = 1, malloced = 32768, 
  low = 0, high = 0, ndx_start = 112375, flist_num = 9885, parent_ndx = 9869, 
  in_progress = 1, to_redo = 0}

(gdb) p *first_flist->next
$4 = {next = 0x8f06f0, prev = 0x8ec640, files = 0x1579b30, sorted = 0x1579b30, 
  file_pool = 0x66f780, pool_boundary = 0x119c400, used = 14, 
  malloced = 32768, low = 0, high = 13, ndx_start = 112377, flist_num = 9886, 
  parent_ndx = 9870, in_progress = 0, to_redo = 0}

(gdb) p *first_flist->next->next
$5 = {next = 0x8ed3c0, prev = 0x8ed360, files = 0x6f72d0, sorted = 0x6f72d0, 
  file_pool = 0x66f780, pool_boundary = 0x119be08, used = 31, 
  malloced = 32768, low = 0, high = 30, ndx_start = 112392, flist_num = 9887, 
  parent_ndx = 9916, in_progress = 0, to_redo = 0}

(gdb) p *first_flist->next->next->next
$6 = {next = 0x0, prev = 0x8f06f0, files = 0xa37860, sorted = 0xa37860, 
  file_pool = 0x66f780, pool_boundary = 0x1181d68, used = 1735, 
  malloced = 32768, low = 0, high = 1734, ndx_start = 112424, 
  flist_num = 9888, parent_ndx = 9917, in_progress = 0, to_redo = 0}


(gdb) p *first_flist->files[0]
$8 = {dirname = 0x8b2da0 "var/lib/dovecot", modtime = 1200004504, len32 = 230, 
  mode = 33188, flags = 226, basename = "s"}

> help to narrow it down.  If not, feel free to ask for more suggestions,

That var/lib/dovecot directory contains one file "ssl-parameters.dat"
that's hardlinked to var/run/dovecot/login/ssl-parameters.dat . This
gets updated every day.

> or feel free to generate a core dump (attach to the executable and run
> "signal SIGBUS" (hopefully "ulimit -c" is not 0) and send me the core
> and an executable with debug symbols.

I generated the core, but now I'm wondering whether you have a 64 bit
system on which to examine it... (it's an x86_64 system)


thanks,
Paul Slootman


More information about the rsync mailing list