random blocking under Windows XP
Michael Cronenworth
mike at cchtml.com
Mon Jun 13 18:22:17 CEST 2011
Hello,
I am using GnuTLS as a transport layer for an XMLRPC-like interface. The
program is a cross-platform client that speaks to a Linux server.
Using GnuTLS 2.8, I did not have any problems with communication. Upon
recently upgrading to 2.10 I am seeing blocking under Windows XP 32-bit
clients. I have tested thoroughly under Windows 7 64-bit and 32-bit and
do not see blocking. My Linux clients do not see blocking either. The
blocking happens randomly. Sometimes the client is never blocked the
entire time the client is running. Other times the first write/read
operation blocks. When the blocking occurs and I view the server, the
server had already sent its data back and was waiting for the client's
next move.
The following is a backtrace taken with the client is blocked:
(gdb) bt
#0 0x7c90e514 in ntdll!LdrAccessResource () from
C:\WINDOWS\system32\ntdll.dll
#1 0x7c90df5a in ntdll!ZwWaitForSingleObject () from
C:\WINDOWS\system32\ntdll.dll
#2 0x71a5402b in ?? () from C:\WINDOWS\system32\mswsock.dll
#3 0x71a557c9 in ?? () from C:\WINDOWS\system32\mswsock.dll
#4 0x71ab67de in WSACancelAsyncRequest () from
C:\WINDOWS\system32\ws2_32.dll
#5 0x66784525 in ?? ()
from C:\Documents and
Settings\mcronenworth\Desktop\2011-06-13-win32\bin\libgnutls-26.dll
#6 0x66784d5e in ?? ()
from C:\Documents and
Settings\mcronenworth\Desktop\2011-06-13-win32\bin\libgnutls-26.dll
#7 0x667818a3 in ?? ()
from C:\Documents and
Settings\mcronenworth\Desktop\2011-06-13-win32\bin\libgnutls-26.dll
#8 0x6678293f in ?? ()
from C:\Documents and
Settings\mcronenworth\Desktop\2011-06-13-win32\bin\libgnutls-26.dll
(snipped to remove proprietary functions, but the 9th frame was a call
to gnutls_record_recv())
Each time it blocks, it is in the WSACancelAsyncRequest() function.
My compile environment is Fedora 15 x86_64 with mingw32-gnutls-2.10.5
installed. Any help would be appreciated.
Thanks,
Michael
More information about the Gnutls-help
mailing list