Description of problem: I found regression. Server stopped push adjacent content of the HTML page while "Protocols h2 h2c http/1.1" option is on. Version-Release number of selected component (if applicable): httpd24-httpd-2.4.25-8.el6.x86_64 httpd24-httpd-2.4.25-8.el7.x86_64 How reproducible: always Steps to Reproduce: 1. run the liked test case for collection: COLLECTION=httpd24 make run Actual results: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ LOG ] :: Protocols h2 h2c http/1.1 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ BEGIN ] :: Enabling HTTP/2 support :: actually running 'sed -i 's/^#Protocols/Protocols/' /opt/rh/httpd24/root/etc/httpd/conf.d/httpd.conf' :: [ PASS ] :: Enabling HTTP/2 support (Expected 0, got 0) :: [ BEGIN ] :: Restarting httpd :: actually running 'service httpd24-httpd restart' Stopping httpd: [ OK ] Starting httpd: [ OK ] :: [ PASS ] :: Restarting httpd (Expected 0, got 0) :: [ BEGIN ] :: Sniffing for TCP PSH packets coming to/from port 80 :: actually running 'tcpdump -A -i any 'tcp port 80 and tcp[tcpflags] & tcp-push != 0' > dump &' tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes :: [ PASS ] :: Sniffing for TCP PSH packets coming to/from port 80 (Expected 0, got 0) :: [ BEGIN ] :: Downloading file over HTTP/2 :: actually running 'curl --http2 -v http://127.0.0.1/http2.html' * Trying 127.0.0.1... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) > GET /http2.html HTTP/1.1 > Host: 127.0.0.1 > User-Agent: curl/7.47.1 > Accept: */* > Connection: Upgrade, HTTP2-Settings > Upgrade: h2c > HTTP2-Settings: AAMAAABkAAQAAP__ > < HTTP/1.1 101 Switching Protocols < Upgrade: h2c < Connection: Upgrade * Received 101 * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * TCP_NODELAY set * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2.0 200 < date:Sun, 00 Jan 1900 00:00:00 GMT < server:Apache/2.4.25 (Red Hat) mod_auth_kerb/5.4 PHP/5.5.21 mod_wsgi/3.4 Python/2.7.8 mod_perl/2.0.9dev Perl/v5.20.1 < last-modified:Thu, 02 Mar 2017 22:59:38 GMT < etag:W/"6d-549c7623acdaf" < accept-ranges:bytes < content-length:109 < link:</fake.jpg>;rel=preload < content-type:text/html; charset=UTF-8 < push-policy:default < { [109 bytes data] 100 109 100 109 0 0 93401 0 --:--:-- --:--:-- --:--:-- 106k * Connection #0 to host 127.0.0.1 left intact <html> <head> <title>HTTP/2 Test</title> </head> <body> <img src="fake.jpg"> </body> </html> :: [ PASS ] :: Downloading file over HTTP/2 (Expected 0, got 0) :: [ BEGIN ] :: Stopping TCP packet sniffing :: actually running 'pkill tcpdump' 9 packets captured 18 packets received by filter 0 packets dropped by kernel :: [ PASS ] :: Stopping TCP packet sniffing (Expected 0, got 0) :: [ PASS ] :: File '/var/tmp/rlRun_LOG.xY0zHQ1A' should contain 'HTTP/1.1 101 Switching Protocols' :: [ PASS ] :: File '/var/tmp/rlRun_LOG.xY0zHQ1A' should contain 'HTTP/2.0 200' :: [ PASS ] :: File '/var/tmp/rlRun_LOG.xY0zHQ1A' should contain 'link:</fake.jpg>;rel=preload' :: [ 17:59:44 ] :: [ INFO ] :: HTTP/2 headers should be compressed, not plaintext :: [ PASS ] :: File 'dump' should contain 'HTTP/1.1 101 Switching Protocols' :: [ PASS ] :: File 'dump' should not contain 'HTTP/2.0 200' :: [ 17:59:44 ] :: [ INFO ] :: Server should push a JPEG in addition to the HTML page :: [ FAIL ] :: File 'dump' should contain 'This is a fake JPEG' Expected results: File 'dump' should contain 'This is a fake JPEG' Additional info:
Yes, I can reproduce same bug ":: [ FAIL ] :: File 'dump' should contain 'This is a fake JPEG' " also for RHEL-7.3. See beaker job:https://beaker.engineering.redhat.com/jobs/1789331