Contents

MacOS Legacy Rsync Hangs

Contents

A few months ago, I encountered an issue while using rsync to back up data from my MacBook to a NAS.

rsync would appear to be running normally for a while and then suddenly hang indefinitely.

The terminal output showed it syncing files as usual, and then it just… stopped.

There were no error messages, and rsync didn’t exit.

Initially, I thought it might be a large file transfer or an unstable network connection. However, I discovered that if I killed the process and ran the rsync command again, it would resume smoothly from the file where it had previously stuck. This happened several times in a row!

This clearly wasn’t a network or file issue. I opened the built-in Activity Monitor on my Mac to see what was happening with rsync.

What I saw was shocking:

/images/macos-legacy-rsync-hangs/legacy-rsync-hang.png

The rsync status was “Terminated.” CPU usage was 0% because it had stopped, yet it was still hogging a massive amount of Virtual Memory (34 GB!!!!!). Its path was under /usr/bin, which meant it was the system’s built-in version.

After some research, I found a Reddit thread mentioning that the built-in rsync on macOS is problematic. Following the advice there, I abandoned the outdated system version and switched to the Homebrew version.

After that, over 20 GB of files synced without a hitch!

I’m still quite puzzled. The Reddit comment was from three years ago, and the problem is very obvious whenever there’s a large number of files. Why hasn’t that outdated version been updated yet?

I wonder if it’s due to legal considerations regarding GPL licenses that they refuse to update it?