OK, I installed 2.6.3pre2 on both the client and server. The server is run
via a ssh command option in authorized keys: command="rsync --server
--daemon ."
The client command is: rsync -Pvvvtr --rsh="ssh -l mpdm -i
ADMIN/rsa-mpdm01" pcls046147::"MPDM/subdir" .
For this test, there were 2 client rsync processes and 1 server process at the
time of the hang.
Here are the 3 sets of traces, server, client, and client child:
$ gdb /usr/bin/rsync 2808
GNU gdb 2003-09-20-cvs (cygwin-special)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i686-pc-cygwin"...
Attaching to program `/usr/bin/rsync.exe', process 3288
[Switching to thread 3288.0xe40]
(gdb) info threads
* 4 thread 3288.0xe40 0x7c901231 in ntdll!DbgUiConnectToDbg ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
3 thread 3288.0xd0 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
2 thread 3288.0xa04 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
1 thread 3288.0xb24 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) bt
#0 0x7c901231 in ntdll!DbgUiConnectToDbg ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1 0x7c9507a8 in ntdll!KiIntSystemCall ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#2 0x00000005 in ?? ()
#3 0x00000004 in ?? ()
#4 0x00000001 in ?? ()
#5 0x00c2ffd0 in ?? ()
#6 0xf8dc31e8 in ?? ()
#7 0xffffffff in ?? ()
#8 0x7c90ee18 in strchr () from /cygdrive/c/WINDOWS/system32/ntdll.dll
#9 0x7c9507c8 in ntdll!KiIntSystemCall ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) thread 3
[Switching to thread 3 (thread 3288.0xd0)]#0 0x7c90eb94 in ntdll!LdrAccessResou
rce () from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) bt
#0 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1 0x7c90d85c in ntdll!ZwDelayExecution ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#2 0x7c8023ed in SleepEx () from /cygdrive/c/WINDOWS/system32/kernel32.dll
(gdb) thread 2
[Switching to thread 2 (thread 3288.0xa04)]#0 0x7c90eb94 in ntdll!LdrAccessReso
urce () from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) bt
#0 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1 0x7c90e288 in ntdll!ZwReadFile ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#2 0x7c801875 in ReadFile () from /cygdrive/c/WINDOWS/system32/kernel32.dll
#3 0x00000748 in ?? ()
(gdb) thread 1
[Switching to thread 1 (thread 3288.0xb24)]#0 0x7c90eb94 in ntdll!LdrAccessReso
urce () from /cygdrive/c/WINDOWS/system32/ntdll.dll
(gdb) bt
#0 0x7c90eb94 in ntdll!LdrAccessResource ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#1 0x7c90e9ab in ntdll!ZwWaitForMultipleObjects ()
from /cygdrive/c/WINDOWS/system32/ntdll.dll
#2 0x7c8094f2 in KERNEL32!CreateFileMappingA ()
from /cygdrive/c/WINDOWS/system32/kernel32.dll
#3 0x00000002 in ?? ()
#4 0x0022d668 in ?? ()
#5 0x00000001 in ?? ()
(gdb)
-----------------------------------------------------------
$ gdb /usr/bin/rsync 2492
GNU gdb 2003-09-20-cvs (cygwin-special)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i686-pc-cygwin"...
Attaching to program `/usr/bin/rsync.exe', process 2496
[Switching to thread 2496.0x980]
(gdb) info threads
* 5 thread 2496.0x980 0x77f813b2 in ntdll!DbgUiConnectToDbg () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
4 thread 2496.0x9d0 0x77f82870 in ntdll!ZwWaitForSingleObject () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
3 thread 2496.0x8c0 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
2 thread 2496.0x9c4 0x77f82926 in ntdll!ZwReadFile () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
1 thread 2496.0x6c4 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f813b2 in ntdll!DbgUiConnectToDbg () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c57180b in KERNEL32!DebugActiveProcess () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x61003e84 in getprogname () from /usr/bin/cygwin1.dll
#3 0x00f8f0d0 in ?? ()
(gdb) thread 4
[Switching to thread 4 (thread 2496.0x9d0)]#0 0x77f82870 in
ntdll!ZwWaitForSingleObject ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f82870 in ntdll!ZwWaitForSingleObject () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x74fdbcd2 in WSPSetSockOpt () from /cygdrive/c/WINNT/system32/msafd.dll
#2 0x74fd7ee6 in WSPSetSockOpt () from /cygdrive/c/WINNT/system32/msafd.dll
#3 0x75031da9 in WSACreateEvent () from /cygdrive/c/WINNT/system32/ws2_32.dll
#4 0x61089f34 in cygwin1!aclcheck () from /usr/bin/cygwin1.dll
#5 0x61003186 in getprogname () from /usr/bin/cygwin1.dll
#6 0xffffffff in ?? ()
(gdb) thread 3
[Switching to thread 3 (thread 2496.0x8c0)]#0 0x77f8287e in
ntdll!ZwWaitForMultipleObjects ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c573c23 in WaitForMultipleObjectsEx () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x7c578f0d in WaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#3 0x00d2ef48 in ?? ()
#4 0x00000001 in ?? ()
(gdb) thread 2
[Switching to thread 2 (thread 2496.0x9c4)]#0 0x77f82926 in ntdll!ZwReadFile ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f82926 in ntdll!ZwReadFile () from /cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c5785d1 in ReadFile () from /cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x61093bd6 in sigfillset () from /usr/bin/cygwin1.dll
#3 0x61003186 in getprogname () from /usr/bin/cygwin1.dll
(gdb) thread 1
[Switching to thread 1 (thread 2496.0x6c4)]#0 0x77f8287e in
ntdll!ZwWaitForMultipleObjects ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c573c23 in WaitForMultipleObjectsEx () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x7c578f0d in WaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#3 0x0022e6e8 in ?? ()
#4 0x00000001 in ?? ()
(gdb)
-----------------------------------------------------------
$ gdb /usr/bin/rsync 1620
GNU gdb 2003-09-20-cvs (cygwin-special)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i686-pc-cygwin"...
Attaching to program `/usr/bin/rsync.exe', process 1620
[Switching to thread 1620.0x934]
(gdb) info threads
* 4 thread 1620.0x934 0x77f813b2 in ntdll!DbgUiConnectToDbg () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
3 thread 1620.0x92c 0x77f82870 in ntdll!ZwWaitForSingleObject () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
2 thread 1620.0x928 0x77f82926 in ntdll!ZwReadFile () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
1 thread 1620.0x2c0 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f813b2 in ntdll!DbgUiConnectToDbg () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c57180b in KERNEL32!DebugActiveProcess () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x61003e84 in getprogname () from /usr/bin/cygwin1.dll
#3 0x00dcf0d0 in ?? ()
(gdb) thread 3
[Switching to thread 3 (thread 1620.0x92c)]#0 0x77f82870 in
ntdll!ZwWaitForSingleObject ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f82870 in ntdll!ZwWaitForSingleObject () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x74fdbcd2 in WSPSetSockOpt () from /cygdrive/c/WINNT/system32/msafd.dll
#2 0x74fd7ee6 in WSPSetSockOpt () from /cygdrive/c/WINNT/system32/msafd.dll
#3 0x75031da9 in WSACreateEvent () from /cygdrive/c/WINNT/system32/ws2_32.dll
#4 0x61089f34 in cygwin1!aclcheck () from /usr/bin/cygwin1.dll
#5 0x61003186 in getprogname () from /usr/bin/cygwin1.dll
#6 0xffffffff in ?? ()
(gdb) thread 2
[Switching to thread 2 (thread 1620.0x928)]#0 0x77f82926 in ntdll!ZwReadFile ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f82926 in ntdll!ZwReadFile () from /cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c5785d1 in ReadFile () from /cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x61093bd6 in sigfillset () from /usr/bin/cygwin1.dll
#3 0x61003186 in getprogname () from /usr/bin/cygwin1.dll
(gdb) thread 1
[Switching to thread 1 (thread 1620.0x2c0)]#0 0x77f8287e in
ntdll!ZwWaitForMultipleObjects ()
from /cygdrive/c/WINNT/system32/NTDLL.DLL
(gdb) bt
#0 0x77f8287e in ntdll!ZwWaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/NTDLL.DLL
#1 0x7c573c23 in WaitForMultipleObjectsEx () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#2 0x7c578f0d in WaitForMultipleObjects () from
/cygdrive/c/WINNT/system32/KERNEL32.DLL
#3 0x0022e1c8 in ?? ()
#4 0x00000001 in ?? ()
(gdb)
I still have the processes in the debuggers, so let me know if there is
something you
want me to check.
Jim