Regression: sockets for 3.0.9pre1 ?
grarpamp
grarpamp at gmail.com
Sat Jun 25 11:41:35 MDT 2011
> If you want to help solve this
Yes :) The system now also passes memtest86.
> do some experiments with a single socket or special file
I've not found a broken example of that yet. To date it has required
at least a smallish tree, with some hardlinks in it.
> find the shortest path length at which the problems start to occur
Hmm... was the verbose output I posted correct (thus insufficient)?
I don't yet know how to read the 'flags=' in the verbose output,
for example, from my last note, what are they telling me?
Rsync doesn't appear to synchronize it's verbose output. How do I
get each of the three rsync processes (two are forked) to log their
verbose info to separate output files for comparison between runs?
ie:
rsync -Haxi --delete -vvvvvvvvvv /a/ /b/ > run1 2>&1
rsync -Haxi --delete -vvvvvvvvvv /a/ /b/ > run2 2>&1
diff run1 run2 ==> quite often different by at least line numbers
>> Same for from /dev/ to /x/ (same filesystem aka: 'root').
Short paths? Are these paths from the same note not short enough?
This basic example is broken too. Called exactly as shown:
rsync -Haxi --delete /dev/ /x/
> use a system call tracer to see what is going wrong.
As for system calls, I presume rsync would catch any that return
error. And all 3550 mknod and link calls from the above example
return 0. An example of good and bad results...
# something that works
rm -rf ./r
ktrace -di -tcnsuw rsync -Haxi --delete /dev/*rfd1* ./r/ > /dev/null
kdump -d | egrep 'NAMI|mknod|stat' | egrep -v 'RET' | egrep -B2 mknod
| egrep -v '^--|lstat'
920 rsync NAMI "rfd1.1200"
920 rsync CALL mknod(-1077945264,8608,2372)
920 rsync NAMI "rfd1.1232"
920 rsync CALL mknod(-1077945264,8608,2378)
920 rsync NAMI "rfd1.1440"
920 rsync CALL mknod(-1077945264,8608,2371)
920 rsync NAMI "rfd1.1480"
920 rsync CALL mknod(-1077945264,8608,2370)
920 rsync NAMI "rfd1.1720"
920 rsync CALL mknod(-1077945264,8608,2369)
920 rsync NAMI "rfd1.360"
920 rsync CALL mknod(-1077945264,8608,2376)
920 rsync NAMI "rfd1.640"
920 rsync CALL mknod(-1077945264,8608,2377)
920 rsync NAMI "rfd1.720"
920 rsync CALL mknod(-1077945264,8608,2375)
920 rsync NAMI "rfd1.800"
920 rsync CALL mknod(-1077945264,8608,2374)
920 rsync NAMI "rfd1.820"
920 rsync CALL mknod(-1077945264,8608,2373)
920 rsync NAMI "rfd1h"
920 rsync CALL mknod(-1077945264,8608,2368)
ls -liTso r | sort +8n | egrep rfd1
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1a
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1b
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1c
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1d
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1e
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1f
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1g
63770 0 crw-r----- 9 root operator - 9, 64 Oct 11 14:06:33 2007 rfd1h
63763 0 crw-r----- 1 root operator - 9, 65 Oct 11 14:06:34 2007 rfd1.1720
63762 0 crw-r----- 1 root operator - 9, 66 Oct 11 14:06:34 2007 rfd1.1480
63761 0 crw-r----- 1 root operator - 9, 67 Oct 11 14:06:34 2007 rfd1.1440
63759 0 crw-r----- 1 root operator - 9, 68 Oct 11 14:06:34 2007 rfd1.1200
63769 0 crw-r----- 1 root operator - 9, 69 Oct 11 14:06:34 2007 rfd1.820
63767 0 crw-r----- 1 root operator - 9, 70 Oct 11 14:06:34 2007 rfd1.800
63766 0 crw-r----- 1 root operator - 9, 71 Oct 11 14:06:34 2007 rfd1.720
63764 0 crw-r----- 1 root operator - 9, 72 Oct 11 14:06:34 2007 rfd1.360
63765 0 crw-r----- 1 root operator - 9, 73 Oct 11 14:06:34 2007 rfd1.640
63760 0 crw-r----- 1 root operator - 9, 74 Oct 11 14:06:34 2007 rfd1.1232
# something that doesn't work
# Note in the below, the non-raw 'r' devices make 9+9=18 links.
# I left them off to make this shorter.
rm -rf ./r
ktrace -di -tcnsuw rsync -Haxi --delete /dev/ ./r/ > /dev/null
kdump -d | egrep 'NAMI|mknod|stat' | egrep -v 'RET' | egrep -B2 mknod
| egrep -v '^--|lstat' | egrep -A1 rfd1
932 rsync NAMI "rfd1.1200"
932 rsync CALL mknod(-1077944960,8608,20036)
932 rsync NAMI "rfd1.1232"
932 rsync CALL mknod(-1077944960,8608,20042)
932 rsync NAMI "rfd1.1440"
932 rsync CALL mknod(-1077944960,8608,20035)
932 rsync NAMI "rfd1.1480"
932 rsync CALL mknod(-1077944960,8608,20034)
932 rsync NAMI "rfd1.1720"
932 rsync CALL mknod(-1077944960,8608,20033)
932 rsync NAMI "rfd1.360"
932 rsync CALL mknod(-1077944960,8608,20040)
932 rsync NAMI "rfd1.640"
932 rsync CALL mknod(-1077944960,8608,20041)
932 rsync NAMI "rfd1.720"
932 rsync CALL mknod(-1077944960,8608,20039)
932 rsync NAMI "rfd1.800"
932 rsync CALL mknod(-1077944960,8608,20038)
932 rsync NAMI "rfd1.820"
932 rsync CALL mknod(-1077944960,8608,20037)
932 rsync NAMI "rfd1h"
932 rsync CALL mknod(-1077944960,8608,20032)
ls -liTso r | sort +8n | egrep rfd1
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1a
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1b
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1c
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1d
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1e
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1f
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1g
65062 0 crw-r----- 18 root operator - 78, 64 Oct 11 14:06:33 2007 rfd1h
65056 0 crw-r----- 2 root operator - 78, 65 Oct 11 14:06:34
2007 rfd1.1720
65055 0 crw-r----- 2 root operator - 78, 66 Oct 11 14:06:34
2007 rfd1.1480
65054 0 crw-r----- 2 root operator - 78, 67 Oct 11 14:06:34
2007 rfd1.1440
65052 0 crw-r----- 2 root operator - 78, 68 Oct 11 14:06:34
2007 rfd1.1200
65061 0 crw-r----- 2 root operator - 78, 69 Oct 11 14:06:34 2007 rfd1.820
65060 0 crw-r----- 2 root operator - 78, 70 Oct 11 14:06:34 2007 rfd1.800
65059 0 crw-r----- 2 root operator - 78, 71 Oct 11 14:06:34 2007 rfd1.720
65057 0 crw-r----- 2 root operator - 78, 72 Oct 11 14:06:34 2007 rfd1.360
65058 0 crw-r----- 2 root operator - 78, 73 Oct 11 14:06:34 2007 rfd1.640
65053 0 crw-r----- 2 root operator - 78, 74 Oct 11 14:06:34
2007 rfd1.1232
# Here's what /dev looks like...
find -sEx /dev \! \( -type c -o -type b -o -type l \) -ls
3 112 drwxr-xr-x 3 root wheel 56832 Jun 25 11:17 /dev
118 92 -r-xr-xr-x 1 root wheel 47085 Oct 11 2007 /dev/MAKEDEV
213 8 -r-xr-xr-x 1 root wheel 2064 May 25 2004
/dev/MAKEDEV.local
148 4 dr-xr-xr-x 2 root wheel 1024 Oct 11 2007 /dev/fd
find -sEx /dev -regex '^.*rfd1.*$' -ls
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1
234 0 crw-r----- 2 root operator 9, 68 Oct 11 2007 /dev/rfd1.1200
240 0 crw-r----- 2 root operator 9, 74 Oct 11 2007 /dev/rfd1.1232
233 0 crw-r----- 2 root operator 9, 67 Oct 11 2007 /dev/rfd1.1440
232 0 crw-r----- 2 root operator 9, 66 Oct 11 2007 /dev/rfd1.1480
231 0 crw-r----- 2 root operator 9, 65 Oct 11 2007 /dev/rfd1.1720
238 0 crw-r----- 2 root operator 9, 72 Oct 11 2007 /dev/rfd1.360
239 0 crw-r----- 2 root operator 9, 73 Oct 11 2007 /dev/rfd1.640
237 0 crw-r----- 2 root operator 9, 71 Oct 11 2007 /dev/rfd1.720
236 0 crw-r----- 2 root operator 9, 70 Oct 11 2007 /dev/rfd1.800
235 0 crw-r----- 2 root operator 9, 69 Oct 11 2007 /dev/rfd1.820
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1a
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1b
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1c
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1d
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1e
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1f
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1g
230 0 crw-r----- 18 root operator 9, 64 Oct 11 2007 /dev/rfd1h
More information about the rsync
mailing list