View Issue Details

IDProjectCategoryView StatusLast Update
0001967libmicrohttpdHTTPS (TLS)public2012-01-23 14:21
Reporterwillbryant Assigned ToChristian Grothoff  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformOS XOSOS XOS VersionLion
Product Version0.9.17 
Target Version0.9.18Fixed in Version0.9.18 
Summary0001967: mhds_get_test_select hangs in recvfrom
DescriptionOn OS X all regular HTTP tests pass and most HTTPS tests pass, but mhds_get_test_select consistently hangs. When I attach in gdb and backtrace, the call trace is:

0x00007fff87c9ad7a in recvfrom ()
(gdb) bt
#0 0x00007fff87c9ad7a in recvfrom ()
#1 0x000000010b7d0fbf in _gnutls_read ()
#2 0x000000010b7d117f in _gnutls_io_read_buffered ()
#3 0x000000010b7cceb7 in _gnutls_recv_int ()
#4 0x000000010b7d06c0 in _gnutls_handshake_io_recv_int ()
#5 0x000000010b7d480d in _gnutls_recv_handshake ()
#6 0x000000010b7d9759 in _gnutls_recv_client_kx_message ()
#7 0x000000010b7d65eb in _gnutls_handshake_server ()
#8 0x000000010b7d6d5b in gnutls_handshake ()
#9 0x000000010b7bab4f in MHD_tls_connection_handle_read (connection=0x7f980243f6d0) at connection_https.c:62
#10 0x000000010b7b7286 in MHD_select () at _structs.h:193
#11 0x000000010b7b72f1 in MHD_run (daemon=0x7f9802836800) at daemon.c:1575
#12 0x000000010b7a81d8 in testExternalGet [inlined] () at /Users/will/verm/mhd/src/testcurl/https/mhds_get_test_select.c:195
#13 0x000000010b7a81d8 in main (argc=42166272, argv=0x7fff6b3a5680) at mhds_get_test_select.c:226
(gdb) info threads
* 1 "com.apple.main-thread" 0x00007fff87c9ad7a in recvfrom ()
TagsNo tags attached.

Relationships

related to 0001824 closedChristian Grothoff r16440 (non-blocking sockets) casues connections to prematurely terminate on Cygwin 

Activities

Christian Grothoff

2011-11-28 18:06

manager   ~0004995

Could you please check if this is also the case with 0.9.15? At that point, we changed sockets back to blocking for non-Linux platforms because blocking caused problems on Cygwin (and non-blocking was assumed to be only desired on GNU/Linux for performance -- but maybe gnutls requires non-blocking as well!?).

Christian Grothoff

2012-01-19 20:47

manager   ~0005306

Also, which version of GNUtls are you using?

Christian Grothoff

2012-01-19 22:19

manager   ~0005307

Nikos Mavrogiannopoulos has clarified that with GNUtls we always must use non-blocking sockets if we don't want it to block. As 0001824 says that Cygwin/HTTP must be blocking, SVN 19268 now sets sockets to non-blocking *except* for Cygwin/HTTP. That should address this issue.

Issue History

Date Modified Username Field Change
2011-11-27 12:45 willbryant New Issue
2011-11-28 18:06 Christian Grothoff Note Added: 0004995
2011-11-28 18:06 Christian Grothoff Assigned To => Christian Grothoff
2011-11-28 18:06 Christian Grothoff Status new => feedback
2011-11-28 18:06 Christian Grothoff Priority low => high
2012-01-19 20:47 Christian Grothoff Note Added: 0005306
2012-01-19 22:19 Christian Grothoff Note Added: 0005307
2012-01-19 22:19 Christian Grothoff Status feedback => resolved
2012-01-19 22:19 Christian Grothoff Resolution open => fixed
2012-01-19 22:19 Christian Grothoff Relationship added related to 0001824
2012-01-19 22:19 Christian Grothoff Fixed in Version => 0.9.18
2012-01-19 22:19 Christian Grothoff Target Version => 0.9.18
2012-01-23 14:21 Christian Grothoff Status resolved => closed
2013-05-06 12:52 Christian Grothoff Category SSL => HTTPS (SSL)
2024-01-21 13:25 Christian Grothoff Category HTTPS (SSL) => HTTPS (TLS)