My previous entry about rsync segafults was obviously following the wrong lead.

I again stumbled upon the segfault problem when syncing a hundred-something thousand files. It was hard to debug the problem since it was not easy to reproduce. Furthermore, the multiple forks of the rsync process do not allow for easy debugging.

I tried to follow the child process from gdb, but I was getting transferred to the parent when the error occurred (a SEGFAULT in the child and a SIGPIPE in the parent… the former taking precedence I guess) and I was left with no way of knowing where the segmentation fault was caused.

I eventually managed to debug both parent and chlid with two gdb instances. The problem — a segfault in rsync_acl_free (or some similar function… not sure anymore). Well, one thing’s for sure — running rsync without -A surely does complete without a hitch. I’ll have to debug this properly later on.