Author |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Sat 24 Dec '16 12:44 Post subject: Latest mod_http2 & nghttp2 VC14 based on 2.4.25 |
|
|
Download Win32 Win64: removed, the latest is in 2.4.26
Note: Based on 2.4.25
24 April : updated mod_http2 to 1.10.3
11 April : updated mod_http2 to 1.10.1, nghttp2.dll to 1.21.1 and updated libhttpd.dll
26 Februari : updated mod_http2 to 1.9.2 and nghttp2.dll to 1.20.0
1 February : updated mod_http2 to 1.8.11
25 Januari : updated mod_http2 to 1.8.10 and nghttp2.dll to 1.19.0
5 Januari 2017 : updated mod_http2 to 1.8.7 and nghttp2.dll to 1.18.0
24 December 2016 : updated mod_http2 to 1.8.5
Install:
copy/replace libhttpd.dll to the Apache /bin folder
copy/replace nghttp2.dll to the Apache /bin folder
copy/replace mod_http2.so to the Apache /modules folder
copy/replace mod_proxy_http2.so to the Apache /modules folder
note: 2.4.25 is shipped with mod-http2 1.8.3 and nghttp2 1.17.0
Change log nghttp2: https://github.com/tatsuhiro-t/nghttp2/releases
Change log mod_http2: https://github.com/icing/mod_h2/releases
Last edited by Steffen on Thu 15 Jun '17 10:19; edited 9 times in total |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Sun 26 Feb '17 15:12 Post subject: |
|
|
updated mod_http2 to 1.9.2 and nghttp2.dll to 1.20.0 |
|
Back to top |
|
Smitty
Joined: 03 Jan 2008 Posts: 197
|
Posted: Tue 04 Apr '17 15:46 Post subject: |
|
|
Any chance we can get h2 1.10.0 and nghttp2 1.21.0 soon? h2 has new performance improvements. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
Posted: Mon 10 Apr '17 1:30 Post subject: |
|
|
I have been running mod_http2.so v1.10.0 since April 1 on my dev server and have never seen any warning about a session cleanup.
Apache/2.4.25 (Win64) PHP/7.1.4RC1 OpenSSL/1.0.2k-fips mod_fcgid/2.3.9
Operating in SSL FIPS mode
mpm_winnt: 150 worker threads
The dev server is very low traffic. I use it mainly for testing a Drupal 7 site, running PHP 7.1 x64 nts under mod_fcgid. Could that be the cause of the absence of http2:warn messages or do I have to do something special in my configs to log those warnings? |
|
Back to top |
|
admin Site Admin
Joined: 15 Oct 2005 Posts: 692
|
Posted: Mon 10 Apr '17 13:00 Post subject: |
|
|
It happens not on every request. Log level is info. |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
jonny_be_good
Joined: 14 Mar 2017 Posts: 2 Location: Germany
|
Posted: Mon 10 Apr '17 19:03 Post subject: |
|
|
For about a year we use your Apache distribution with mod_http2 on customer production server, always with mod_http2 updated from here to the newest one.
Since the february, 26. build we got Apache crashes with Access violation
(excerpt from Windows error log)
Beschreibung:
Name der fehlerhaften Anwendung: httpd.exe, Version: 2.4.25.0, Zeitstempel: 0x58550e9f
Name des fehlerhaften Moduls: mod_http2.so, Version: 2.4.25.0, Zeitstempel: 0x58b2c47f
Ausnahmecode: 0xc0000005
This occurred after about 7 days of uninterrupted, light usage. We could not further trace down a reason on this server (configuration and application in this time period unchanged).
Along with the logging error (see separate thread) we had 2 problems with this release (but none ever before). We had to revert to the version from Feb 1. , til now without problems.
I did not find any bug reports from crashes in mod_http2 since release 1.9.2.
Any other experiences or suggestions? |
|
Back to top |
|
icing
Joined: 22 Sep 2015 Posts: 41 Location: Münster, Germany
|
Posted: Tue 11 Apr '17 10:51 Post subject: |
|
|
Hi there,
let me try to shed some light on recent changes and what we are trying right now to fix the warnings you see under Windows.
All versions before v1.9.3, so 1.9.2 and older, had various code paths for shutting down a connection. This has been a weakness of mod_http2 for a long time. The problem was it was tricky to keep track of what happens in what order when connections are normally closed, time out, have read/write errors etc.
With v1.9.3 I rewrote all that and made it one way. This allowed us to fix almost all(*) crashes in the most segmentation fault rich environment of profihost.de (kudos to Stefan Priebe for testing all this).
Connection shutdown of h2 connections now should only happen via "lingering close" of the connection. There is a failsafe catch when the memory pools are destroyed. This issues the warning you see under Windows, as this should not happen. Turns out that mpm_winnt is the only mpm module out there, that does *not* always call ap_lingering_close(). This we will fix and then Windows installations are rid of the warnings (and crashes related to them).
If you want to know more details: when mod_http2 learns that a connection was closed, it needs to wait for all request processing to cease on this connection before it can free memory and do other cleanups. This request processing in other threads will still read memory from the main connection, for example, it might still access SSL variables from mod_ssl.
Right at the start of "lingering close" is a good time to do that. However when the connection tears down its memory pools, it is too late, because it is not defined in which order pools are destroyed. So, it can happen that mod_ssl has already freed all memory while h2 threads are still running. This will lead to read after free on some installations and crash occasionally. On other installations, mod_ssl pools are, for some reason, freed after h2 has shut down and all is fine.
This is the change you see in v1.9.3 and onwards on Windows.
When the mpm_winnt calls ap_lingering_close() as it should, we expect all this to go away. In fact, v1.10.0 been running for days now on profihost.de without any crashes. v1.10.1 addresses two rare deadlocks and got some proxy_http2 love. This is the mod_http2 release candidate for the next 2.4.x release of Apache. If you want to help testing, please do so in the next two weeks!
-Stefan |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Tue 11 Apr '17 12:39 Post subject: |
|
|
Updated : mod_http2 to 1.10.1, nghttp2.dll to 1.21.1 and updated libhttpd.dll
Do not forget to copy/replace libhttpd.dll
libhttpd.dll is updated with the lingering close fix as described by Stefan above, |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
|
Back to top |
|
icing
Joined: 22 Sep 2015 Posts: 41 Location: Münster, Germany
|
Posted: Tue 11 Apr '17 13:36 Post subject: |
|
|
If this works for everyone fine, I will tomorrow add this to trunk and propose for backport to 2.4.x. Thanks for testing! |
|
Back to top |
|
Jan-E
Joined: 09 Mar 2012 Posts: 1265 Location: Amsterdam, NL, EU
|
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Mon 24 Apr '17 12:52 Post subject: |
|
|
Updated mod-http2 to 1.10.3 |
|
Back to top |
|