rsync not reporting diskfull error

Mike Bombich mike at bombich.com
Sun Feb 6 12:17:45 MST 2011


Begin forwarded message:

> From: Mike Bombich <mike at bombich.com>
> Date: March 10, 2009 11:17:36 PM CDT
> To: rsync at lists.samba.org
> Subject: rsyserr is occasionally dropping receiver messages
> 
> Typically rsync exits and reports an error such as:
> 
> rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe (32)
> rsync: write failed on "/Volumes/Backup/big_file.dmg": No space left on device (28)
> rsync: connection unexpectedly closed (67174 bytes received so far) [sender]
> rsync error: error in rsync protocol data stream (code 12) at /src/rsync-3.0.5/io.c(600) [sender=3.0.5]
> 
> when it runs out of space on the destination.  On a few occasions, however, I've seen the ENOSPC error not getting printed.  I was able to reproduce this occasionally, but consistently when the file that causes the error was very large (e.g. 5GB) and the space available on the destination was moderate (e.g. 700MB free space resulted in the error not being displayed, whereas only 300MB resulted in the error correctly being displayed), and the file already existed on the destination and was modified on the source (--no-inplace).
> 
> Oddly, I can tell that the ENOSPC message is always sent to rsyserr(), it just wasn't actually printed.  I added some fprintf lines to receive_data in receive.c and rsyserr in log.c (basically dumping the message that is sent to rsyserr preceded by the function name) and got this output:
> 
> +receive_data(): big_file.dmg [No space left on device]
> +rsyserr(): write failed on %s [No space left on device]
> +rsyserr(): writefd_unbuffered failed to write %ld bytes [%s] [Broken pipe]
> rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe (32)
> rsync: connection unexpectedly closed (67174 bytes received so far) [sender]
> rsync error: error in rsync protocol data stream (code 12) at /src/rsync-3.0.5/io.c(600) [sender=3.0.5]
> 
> 
> I'm using the patch below as a temporary workaround, but I'm curious if anyone has insight as to why rsyserr might not be printing these messages from the receiver.
> 
> Mike
> 
> 
> 
> diff -Naur -X rsync3/_build/diff_ignore rsync-3.0.5_base/receiver.c rsync-3.0.5/receiver.c
> --- rsync-3.0.5_base/receiver.c	2008-11-15 16:49:28.000000000 -0600
> +++ rsync-3.0.5/receiver.c	2009-03-10 22:18:20.000000000 -0500
> @@ -297,6 +315,16 @@
> 
> 	if (fd != -1 && offset > 0 && sparse_end(fd) != 0) {
> 	    report_write_error:
> +		fprintf(stderr, "rsync: write failed on %s: %s\n", full_fname(fname), strerror(errno));
> 		rsyserr(FERROR_XFER, errno, "write failed on %s",
> 			full_fname(fname));
> 		exit_cleanup(RERR_FILEIO);
> 
> -- 


On Feb 5, 2011, at 4:08 PM, Henri Shustak wrote:

> I am involved with the development of lbackup. This message to the rsync mailing list is related to the following thread on the lbackup-disccussion mailing list : http://tinyurl.com/lbackup-discussion-diskfull
> 
> Essentially, I am curious to if any one using rsync 3.0.7 on Mac OS (10.6) Server has experienced an out of disk space error and not had a message similar to the following reported :
> 
>> rsync: mkstemp "/Volumes/backup_volume/backups/Section.inprogress/to_backup/file_for_which_there_is_not_enough_space.n3pq0e" failed: No space left on device (28)
>> rsync_v3.0.7(33235) malloc: *** error for object 0xa: pointer being freed was not allocated
>> *** set a breakpoint in malloc_error_break to debug
>> rsync: connection unexpectedly closed (22413 bytes received so far) [sender]
>> rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
> 
> 
> Instead have you only seen something similar to the following : 
> 
>> "rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
>> rsync: connection unexpectedly closed (3225054 bytes received so far) [sender]
>> rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]"
> 
> 
> I am attempting to reproduce the message above with no luck and was wondering if anyone on this list has seen this kind of message without the "No space left on device (28)" message.
> 
> 
> ----------------------------------
> This email is protected by LBackup
> http://www.lbackup.org
> 
> 
> -- 
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/rsync/attachments/20110206/469b9c17/attachment.html>


More information about the rsync mailing list