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