Launchpad has imported 8 comments from the remote bug at https://bz.apache.org/bugzilla/show_bug.cgi?id=65731.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2021-12-08T17:38:46+00:00 Antonios-m wrote: When requesting a simple image file with HTTP2 every time MaxRequestsPerChild is reached, an empty response is sent to the client. This is even reproducible. Server Version: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f Server MPM: event OS: Ubuntu 20.04 Server Version: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 Server MPM: worker OS: Ubuntu 18.04 Same issue exists with mpm_event and mpm_worker. My configuration: <IfModule mpm_event_module> StartServers 8 MinSpareThreads 4 MaxSpareThreads 12 ThreadLimit 64 ThreadsPerChild 16 MaxRequestsPerChild 100 ServerLimit 64 MaxClients 64 </IfModule> mod_http2 no custom configuration in use. Test command: for i in {1..2000}; do if [[ $(curl -o /dev/null -s -k --http2 https://example.net/2101583.jpg?test=$i -w '%{size_download}') == 0 ]]; then break; fi; done Access log output: 8.8.8.8 - - [08/Dec/2021:18:20:32 +0100] "GET /2101583.jpg?fakeVar=33 HTTP/2.0" 200 17115 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=34 HTTP/2.0" 200 17115 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=35 HTTP/2.0" 200 0 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=36 HTTP/2.0" 200 17115 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=37 HTTP/2.0" 200 17115 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=38 HTTP/2.0" 200 17115 "-" "curl/7.68.0" 8.8.8.8 - - [08/Dec/2021:18:20:33 +0100] "GET /2101583.jpg?fakeVar=39 HTTP/2.0" 200 17115 "-" "curl/7.68.0" ... 8.8.8.8 - - [08/Dec/2021:18:20:37 +0100] "GET /2101583.jpg?fakeVar=135 HTTP/2.0" 200 0 "-" "curl/7.68.0" ... 8.8.8.8 - - [08/Dec/2021:18:20:42 +0100] "GET /2101583.jpg?fakeVar=235 HTTP/2.0" 200 0 "-" "curl/7.68.0" ... 8.8.8.8 - - [08/Dec/2021:18:20:47 +0100] "GET /2101583.jpg?fakeVar=335 HTTP/2.0" 200 0 "-" "curl/7.68.0" Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/0 ------------------------------------------------------------------------ On 2021-12-09T08:24:11+00:00 Rpluem wrote: Does this happen as well with 2.4.51 compiled from source? Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/1 ------------------------------------------------------------------------ On 2021-12-09T12:00:50+00:00 Antonios-m wrote: Created attachment 38125 Apache Trace8 Log Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/2 ------------------------------------------------------------------------ On 2021-12-09T12:01:45+00:00 Antonios-m wrote: Yes, and with 2.4.51 the responses with an empty body wasn't logged in the access log. When this happens curl reports "curl: (16) Error in the HTTP2 framing layer". Attached is the trace8 output of such a request. Server version: Apache/2.4.51 (Unix) Server built: Dec 9 2021 12:24:50 Server's Module Magic Number: 20120211:118 Server loaded: APR 1.6.5, APR-UTIL 1.6.1 Compiled using: APR 1.6.5, APR-UTIL 1.6.1 Architecture: 64-bit Server MPM: event threaded: yes (fixed thread count) forked: yes (variable process count) Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/3 ------------------------------------------------------------------------ On 2021-12-09T12:27:30+00:00 Icing wrote: Thanks for the log. I can see that mod_http2 sees the MPM stopping and sends a GOAWAY frame *before* the HTTP/2 session has been fully started. That is indeed a violation of the H2 protocol. Working on a test and patch. Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/4 ------------------------------------------------------------------------ On 2021-12-09T14:17:04+00:00 Icing wrote: Created attachment 38127 patch on 2.4.x code base Proposed fix for 2.4.x code base. Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/5 ------------------------------------------------------------------------ On 2021-12-09T14:19:22+00:00 Icing wrote: I was able to reproduce this in a test case and made a fix to be backported to 2.4.x in the next release. I attached the patch for the 2.4.x codebase, if you can build from source. If you want to build from the github module version, there is <https://github.com/icing/mod_h2/releases/tag/v1.15.27>. Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/6 ------------------------------------------------------------------------ On 2021-12-13T10:37:02+00:00 Minfrin-s wrote: Backported to v2.4.52: *) mod_http2: fixes PR65731 and https://github.com/icing/mod_h2/issues/212 trunk patch: na, fixed on 2.4.x source base backport PR: https://github.com/apache/httpd/pull/281 +1: icing, minfrin, ylavic Reply at: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1969629/comments/7 ** Changed in: apache2 Status: Unknown => Fix Released ** Changed in: apache2 Importance: Unknown => Medium ** Bug watch added: github.com/icing/mod_h2/issues #212 https://github.com/icing/mod_h2/issues/212 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1969629 Title: Apache 2.4.x: mod_http2 sends empty response after MaxRequestsPerChild To manage notifications about this bug go to: https://bugs.launchpad.net/apache2/+bug/1969629/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs