Hi, Following up on our mail exchange here is the report you asked for. On a GnuTLS build, a large synchronisation never finishes in one run. It aborts after roughly 7.4 GiB moved over a single connection, with Read-error while receiving data. # receiving node Write-error while sending data. # sending node and resumes where it stopped on the next run. Pushing ~31 GB / 56k files to two peers took seven runs of csync2 to converge. What ruled out a flaky link is that the abort point is deterministic: 8.0 GB, then 15.4 GB, then 22.9 GB transferred, the same figures on two different peers and again after rebuilding the package from source. I patched READ() and WRITE() in conn.c to log what GnuTLS actually returns before csync2 gives up. Both ends report the same thing: sender: rc=-28 (Resource temporarily unavailable, try again.) count=512 receiver: rc=-28 (Resource temporarily unavailable, try again.) fatal=0 count=512