rsync seems to indicate that files have disappeared during the transfer when this is not the case.
Steps to reproduce:
1. Create files.txt with "foo/bar". (Make sure "foo/" doesn't exist.)
2. Run: rsync --delete-missing-args -v --files-from=files.txt . remote-host:
building file list ...
file has vanished: "/home/vegard/foo"
default_perms_for_dir: sys_acl_get_file(foo, ACL_TYPE_DEFAULT): No such file or directory, falling back on umask
sent 30 bytes received 129 bytes 45.43 bytes/sec
total size is 0 speedup is 0.00
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1183) [sender=3.1.0]
With --delete-missing-args I would expect nonexistant files (and files in nonexistant directories) to be deleted on the remote host without any warnings or error codes.
Check for exit code 24 and ignore it. (But this has the drawback of potentially ignoring warnings about files which really did disappear after rsync had been started.)