]> granicus.if.org Git - apache/commitdiff
mod_proxy_http: Core dumped under high load. PR 50335
authorGraham Leggett <minfrin@apache.org>
Thu, 26 Dec 2013 18:25:04 +0000 (18:25 +0000)
committerGraham Leggett <minfrin@apache.org>
Thu, 26 Dec 2013 18:25:04 +0000 (18:25 +0000)
trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1534321
             http://svn.apache.org/viewvc?view=revision&revision=1550061

Submitted by: Jan Kaluza <jkaluza redhat.com>
Reviewed by: jim, jorton, minfrin

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1553540 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/proxy/mod_proxy_http.c

diff --git a/CHANGES b/CHANGES
index baff16c911d73958fae3c3252ffbaabfa3d12644..0427552081adff95eb1d37389aea97743258da31 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.4.8
 
+  * mod_proxy_http: Core dumped under high load. PR 50335
+    [Jan Kaluza <jkaluza redhat.com>]
+
   *) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size
      previously limited to 64MB. [Jens Låås <jelaas gmail.com>]
 
diff --git a/STATUS b/STATUS
index 7c55680290747ea2472872938f08f7fc3a294241..a737d38cda9d89a89d2dfc334e04d148e56f2348 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -98,12 +98,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  * mod_proxy_http: Core dumped under high load. Bugz 50335
-    trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1534321
-                 http://svn.apache.org/viewvc?view=revision&revision=1550061
-    2.4.x patches: trunk patches work
-    +1: jim, jorton, minfrin
-
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
index 714014de466ccf611c3324c3f59b26d5f2bbf828..de7b5cdd90f2a38efa8537e5e13e719b1220b8f2 100644 (file)
@@ -710,7 +710,7 @@ int ap_proxy_http_request(apr_pool_t *p, request_rec *r,
         force10 = 0;
     }
 
-    header_brigade = apr_brigade_create(p, origin->bucket_alloc);
+    header_brigade = apr_brigade_create(p, bucket_alloc);
     rv = ap_proxy_create_hdrbrgd(p, header_brigade, r, p_conn,
                                  worker, conf, uri, url, server_portstr,
                                  &old_cl_val, &old_te_val);
@@ -1813,6 +1813,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,