]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1534321, r1550061 from trunk:
authorRuediger Pluem <rpluem@apache.org>
Fri, 28 Feb 2014 20:42:50 +0000 (20:42 +0000)
committerRuediger Pluem <rpluem@apache.org>
Fri, 28 Feb 2014 20:42:50 +0000 (20:42 +0000)
* 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

CHANGES
STATUS
modules/proxy/mod_proxy_http.c

diff --git a/CHANGES b/CHANGES
index f4bd9dfad47b8d0e5329c3a91c608979497a15db..c64ba375405aa171f304e32ac6e7cc9e4cfcfef2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- 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]
 
diff --git a/STATUS b/STATUS
index f4788e454ae7f77d4abdbbdb7a7643651e5a0991..745c6cb9a1cd6867210e26569d6cb2d7d9d23ee0 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -103,15 +103,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
     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 ]
index 072c24a36f1fbb98aaaa084244066d6b14f3c8bb..ad279858a1d7d1a1c9e85b2ce8f25ab5b943ba67 100644 (file)
@@ -709,7 +709,7 @@ int ap_proxy_http_request(apr_pool_t *p, request_rec *r,
     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
@@ -1865,6 +1865,10 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r,
         }
     } 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,