Hmm, will look into this. The module does a speculative non_blocking read on the connection.
That happens only if H2Direct is "on", which I enabled to allow test when the client does not have ALPN. Then it can detect on the first 24 bytes if the client starts talking h2 right away. Is doing a speculative read messing up the handshake? This is not a usual config. //stefan > Am 11.10.2015 um 15:32 schrieb Rainer Jung <rainer.j...@kippdata.de>: > > I get a test failure for 2.4.17 in the mod_nntp_like_ssl part. Te failure > happens on Solaris. Note that the nntp tests are disabled by default on Linux > because of problems with the kernel accept filter, so that many of you wont > run this test and thus not observe the problem. > > The problems is that the test hangs after test 1 when waiting for the result > of 2. On Solaris 8 the behavior changes a bit, there test 2 succeeds, but 3-5 > receive an empty result. The difference might be due to slight perl test > differences. I suspect a common root cause. > > Maybe the problem is due to some unclean brigade handling in > mod_nntp_like_ssl (in light of recent dev list discussions)? Or mod_http2 is > simply incompatible with mod_nntp_like_ssl and we should disable that test if > mod_http2 is loaded? > > Trace 8 log comparison between good runs (without having mod_http2 loaded) > and bad runs (having mod_http2 loaded): > > Good run (no mod_http2) > > - end of handshake and immediately write 52 bytes > > [Sun Oct 11 14:53:47.911105 2015] [ssl:trace3] [pid 23096:tid 27] > ssl_engine_kernel.c(1810): [client 127.0.0.1:50990] OpenSSL: Handshake: done > [Sun Oct 11 14:53:47.911142 2015] [ssl:debug] [pid 23096:tid 27] > ssl_engine_kernel.c(1855): [client 127.0.0.1:50990] AH02041: Protocol: > TLSv1.2, Cipher: ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) > [Sun Oct 11 14:53:47.911212 2015] [ssl:trace4] [pid 23096:tid 27] > ssl_engine_io.c(2088): [client 127.0.0.1:50990] OpenSSL: write 52/52 bytes to > BIO#2861b8 [mem: 2bd45b] (BIO dump follows) > > > Bad run (including mod_http2) > > - end of handshake > > [Sun Oct 11 14:54:38.550476 2015] [ssl:trace3] [pid 23133:tid 50] > ssl_engine_kernel.c(1810): [client 127.0.0.1:50994] OpenSSL: Handshake: done > [Sun Oct 11 14:54:38.550520 2015] [ssl:debug] [pid 23133:tid 50] > ssl_engine_kernel.c(1855): [client 127.0.0.1:50994] AH02041: Protocol: > TLSv1.2, Cipher: ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) > [Sun Oct 11 14:54:38.550555 2015] [core:trace6] [pid 23133:tid 50] > core_filters.c(523): [client 127.0.0.1:50994] core_output_filter: flushing > because of FLUSH bucket > > - one minute established connection, but nothing else > > [Sun Oct 11 14:54:39.274796 2015] [mpm_event:trace6] [pid 23133:tid 53] > event.c(1577): connections: 1 (clogged: 0 write-completion: 0 keep-alive: 0 > lingering: 0 suspended: 0) > ... > > - timeout after one minute and write 52 bytes > > [Sun Oct 11 14:55:38.551174 2015] [ssl:trace4] [pid 23133:tid 50] > ssl_engine_io.c(2099): [client 127.0.0.1:50994] OpenSSL: I/O error, 5 bytes > expected to read on BIO#273480 [mem: 3624e3] > [Sun Oct 11 14:55:38.551253 2015] [ssl:info] [pid 23133:tid 50] (70007)The > timeout specified has expired: [client 127.0.0.1:50994] AH01991: SSL input > filter read failed. > [Sun Oct 11 14:55:38.551316 2015] [http2:debug] [pid 23133:tid 50] > h2_h2.c(189): (70007)The timeout specified has expired: [client > 127.0.0.1:50994] h2_h2, error reading 24 bytes speculative > [Sun Oct 11 14:55:38.551344 2015] [http2:trace1] [pid 23133:tid 50] > h2_h2.c(205): [client 127.0.0.1:50994] h2_h2, declined > [Sun Oct 11 14:55:38.551433 2015] [ssl:trace4] [pid 23133:tid 50] > ssl_engine_io.c(2088): [client 127.0.0.1:50994] OpenSSL: write 52/52 bytes to > BIO#282488 [mem: 36a633] (BIO dump follows) > > Regards, > > Rainer