* modules/proxy/mod_proxy_http.c (ap_proxy_http_request): Use the same
brigade lifetime for the header brigade as the other brigades.
POSSIBLE (but as yet unconfirmed) fix for crashes seen with threaded
servers, e.g. PR 50335; appears correct or at least not harmful.
PR: 50335
Cleanup the bb brigade, because buckets inserted to it can be created from
scpool and this pool can be freed before this brigade.
POSSIBLE (but as yet unconfirmed) fix for crashes seen with threaded servers,
e.g. PR 50335.
Reviewed by: rpluem, jorton, ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@
1573067 13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.2.27
+ *) mod_proxy_http: Core dumped under high load. PR 50335.
+ [Jan Kaluza <jkaluza redhat.com>]
+
*) mod_rewrite: Add mod_rewrite.h to the headers installed on Windows.
PR46679 [Bob Ionescu]
2.2.x: trunk patch applies aka `svn merge -c 1556428 ^/httpd/httpd/trunk`
+1: breser, rpluem, gstein, wrowe
- * mod_proxy_http: Core dumped under high load due to allocator / pool lifetime
- issues. PR 50335
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=revision&revision=1534321
- http://svn.apache.org/viewvc?view=revision&revision=1550061
- Backport version for 2.2.x of patch:
- http://people.apache.org/~rpluem/patches/mod_proxy_http_50335.2.2.x.diff
- +1: rpluem, jorton, ylavic
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
int force10, rv;
apr_table_t *headers_in_copy;
- header_brigade = apr_brigade_create(p, origin->bucket_alloc);
+ header_brigade = apr_brigade_create(p, bucket_alloc);
/*
* Send the HTTP/1.1 request to the remote server
}
} while (interim_response && (interim_response < AP_MAX_INTERIM_RESPONSES));
+ /* We have to cleanup bb brigade, because buckets inserted to it could be
+ * created from scpool and this pool can be freed before this brigade. */
+ apr_brigade_cleanup(bb);
+
/* See define of AP_MAX_INTERIM_RESPONSES for why */
if (interim_response >= AP_MAX_INTERIM_RESPONSES) {
return ap_proxyerror(r, HTTP_BAD_GATEWAY,