rsync 2.6.2 hang (was rsync 2.6.2 crash)

jim jim at thegallaghers.biz
Thu Sep 30 18:18:40 GMT 2004


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











More information about the rsync mailing list