Bug 49671 - mod_proxy_fcgi handles client disconnects poorly
Summary: mod_proxy_fcgi handles client disconnects poorly
Status: RESOLVED FIXED
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_proxy_fcgi (show other bugs)
Version: 2.5-HEAD
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
: 57398 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-07-29 10:54 UTC by Tom Hughes
Modified: 2019-05-24 16:02 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Hughes 2010-07-29 10:54:16 UTC
If mod_proxy_fcgi is handling a request it encounters an error sending data to the client (most commonly because the client has disconnected) then it will often stop processing data in the middle of an FCGI record and return from dispatch() without having read the entire record from the FCGI server.

When dispatch() is next entered it tries to read a new record, but gets bogus data from the middle of the previous record and logs an error along these likes:

[Thu Jul 29 15:48:29 2010] [error] proxy: FCGI: Got bogus version 66
[Thu Jul 29 15:48:29 2010] [error] (22)Invalid argument: proxy: FCGI: Error dispatching request to :

That proxy is then blocked for 60s unless retry=0 has been specified, which can lead to delays in servicing of other requests.
Comment 1 Jeff Trawick 2014-05-05 23:48:54 UTC
This was fixed some time ago by mod_proxy_fcgi being changed to use a backend connection only once.

In the event that an option is added to allow backend connections to be reused, they'll have to be marked for closure after any error to avoid issues like that reported in this bug.
Comment 2 Luca Toscano 2016-07-08 08:35:59 UTC
*** Bug 57398 has been marked as a duplicate of this bug. ***
Comment 3 Atul Singh 2019-05-24 16:02:21 UTC
I am using RHEL 7.6 with httpd version '2.4.6-88'. I am still getting errors " AH01068: Got bogus version" in Apache logs. What should I changes done to fix this issue? 

Should I need to update httpd to solve this bug? Let me know so that I could solve this issue.

Thanks