[Bug 8308] rsync: exclude.c:532: change_local_filter_dir: Assertion `dir_depth < 4096/2+1' failed
samba-bugs at samba.org
samba-bugs at samba.org
Tue Apr 8 22:03:12 MDT 2014
https://bugzilla.samba.org/show_bug.cgi?id=8308
--- Comment #5 from John <jss at mensa.org.au> 2014-04-09 04:03:11 UTC ---
woops, it's not just a 64bit pointer being treated as 32.
When you run macro F_DEPTH(file) you're actually subtracting the size of a
32bit integer, ie 4 bytes, but file is a pointer to structures like this:
struct file_struct {
const char *dirname; /* The dir info inside the transfer */
time_t modtime; /* When the item was last modified */
uint32 len32; /* Lowest 32 bits of the file's length */
uint16 mode; /* The item's type and permissions */
uint16 flags; /* The FLAG_* bits for this item */
const char basename[1]; /* The basename (AKA filename) follows */
};
The size of file_struct is 32 bytes
So when you use the F_DEPTH macro you're subtracting 4 bytes from a pointer
that should be decremented 32 bytes at a time....
Still crazy.
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the rsync
mailing list