rsync: unpack_smb_acl: sys_acl_get_info(): Unknown error: 0 (0)

parse error

When you run rsync on a HFS+ filesystem with ACL under Mac OS X, you may encounter that kind of error :

rsync: unpack_smb_acl: sys_acl_get_info(): Unknown error: 0 (0)

A little googling shows that rsync reports this error when it tries to copy a file that has an ACL for a user that doesn't exist anymore on the system.

Of course, rsync doesn't return a 0 exit status since it doesn't backup the problematic files/directories. The annoying thing (well, depends on which side you stand), is that rsync doesn't report which file is problematic.

When rsync reports this error hundreds of times, you can either spend hours and hours trying to figure out which files are problematic...

OR you can fire up a Terminal and run a little shellscript (can take some time) :

find /Your/Path -exec ls -lde {} \; | grep -E "[0-9]{1}: [0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12}" -B 1

This will return all files that have ACE for a user that doesn't exist anymore. A quick chmod on the culprits should do the rest of the job and let rsync run peacefully.

Tip : adjust the value of the -B option if you have a lot of ACLs.