Bug 64379

Summary: Getting old buffer + header + correct response
Product: Apache httpd-2 Reporter: sjef
Component: mod_proxyAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: NEW ---    
Severity: critical    
Priority: P2    
Version: 2.4.18   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description sjef 2020-04-25 16:58:07 UTC
UBUNTU RELEASE
Description: Ubuntu 16.04.3 LTS
Release: 16.04

APACHE2 VERSION
apache2:
  Installed: 2.4.18-2ubuntu3.14
  Candidate: 2.4.18-2ubuntu3.14
  Version table:
 *** 2.4.18-2ubuntu3.14 500
        500 http://ubuntu.apt-get.eu/ubuntu xenial-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.18-2ubuntu3.13 500
        500 http://security.ubuntu.apt-get.eu/ubuntu xenial-security/main amd64 Packages
     2.4.18-2ubuntu3 500
        500 http://ubuntu.apt-get.eu/ubuntu xenial/main amd64 Packages

WHAT I EXPECT TO HAPPEN
That a correct response is sent back, see below.

WHAT ACTUALLY HAPPENS
We have apache2 as a reverse proxy server, doing a lot of things: 4 Virtual Hosts, several RewriteRules, SSL to a non-SSL internal (Domino) server, quite some ProxyPass* lines, and a few Substitutes to fix links in returned HTML.

In 98% of all cases everything works, only, in 2% of the page requests the browser gets the wrong response: it contains the homepage html, then the header for the actual response, and then the correct response.

Here an extract of the middle part of the returned response, where two buffers seem to be joined:
-----------------------------
XSP.addOnLoad(function() {
XSP.attachEvent("view:_id1:_id2:_id3:_id9:_id10:5:_id26:_id28:_id30", "view:_id1:_id2:_id3:_id9:_id10:5:_id26:_id28:query", "onkeydown", view__id1__id2__id3__id9__id10_5__id26__id28__id30_clientSide_onkeydown, false, 2);
XSP.attachEvent("view:_id1:_id2:_id3:_id9:_id10:5:_id26:_id28:_id31", "view:_id1:_id2:_id3:_id9:_id10:5:_id26:_id28:btnSearch", "onclick", view__id1__id2__id3__id9__id10_5__id26__id28__id31_clientSide_onclick, false, 0);
XSP.attachEvent("view:_id1:_id2:_id3:_id9:_id10:6:_id34:_id36:_id38", "view:_id1:_id2:_id3:_id9:_id10:6:_id34:_id36:image1", "onclick", view__id1__id2__id3__id9__id10_6__id34__id36__id38_clientSide_onclick, false, 2);
});

</script>
</body>
</html>HTTP/1.1 200 OK

Date: Fri, 24 Apr 2020 22:03:21 GMT

Content-Type: text/html;charset=UTF-8

Expires: -1

Content-Length: 72703

<!DOCTYPE html>
<html lang="en">
<head>
<base href="//www.website.nl/TA.nsf/Page.xsp/">
<title>Website</title>
<link rel="SHORTCUT ICON" href="/website.nsf/images/favicon.ico/%24file/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=4.0, user-scalable=yes">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Rubik" src="" type=""></link>
<meta name="Description" content="info">
<link rel="stylesheet" type="text/css" href="/xsp/.ibmxspres/.mini/css-1.9.7/@Da&amp;@Ib&amp;2Tfxsp.css&amp;2TfxspLTR.css&amp;2TfxspFF.css.css">
-----------------------------

The output comes from one single line in the Firefox 75.0 Developer Tools window, on the Network tab.

The same happens every now and then on a page that regularly refreshes an image on the screen. Usually (98%) the response is correct, but sometimes two responses are combined into one and then the browser flips.

Needless to say maybe, but if I access the website directly, i.e. not through the proxy server, there's no problem whatsoever, the response is always correct.

Thank you for looking into this. If you need more info, please contact me by mail. 

PS I posted exactly the same bug report as https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1874932
Comment 1 sjef 2020-05-21 20:53:06 UTC
I'm sorry to say that it's less urgent now, because a switch to nginx is imminent... we encountered some problems, but not the overrun problem as discussed above.
I still have the old site operational, and the config file.