Fwd: [Status] apreq-*@httpd.a.o mailing lists

2018-06-05 Thread William A Rowe Jr
Copying dev@httpd.a.o for completeness. -- Forwarded message -- From: William A Rowe Jr Date: Tue, Jun 5, 2018 at 10:13 AM Subject: [Status] apreq-*@httpd.a.o mailing lists To: apreq-...@httpd.apache.org Seven+ years ago, apreq released our most recent distribution, and the cod

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 2:55 PM, Plüm, Rüdiger, Vodafone Group wrote: > >> -Ursprüngliche Nachricht- >> Von: Joe Orton >> Gesendet: Dienstag, 5. Juni 2018 14:48 >> An: dev@httpd.apache.org; d...@apr.apache.org >> Betreff: Re: Brigade memory lifetime & leaks >> >> We should remove apr_briga

AW: Brigade memory lifetime & leaks

2018-06-05 Thread Plüm , Rüdiger , Vodafone Group
> -Ursprüngliche Nachricht- > Von: Joe Orton > Gesendet: Dienstag, 5. Juni 2018 14:48 > An: dev@httpd.apache.org; d...@apr.apache.org > Betreff: Re: Brigade memory lifetime & leaks > > On Tue, Jun 05, 2018 at 12:07:31PM +, Plüm, Rüdiger, Vodafone Group > wrote: > > The usual approac

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Joe Orton
On Tue, Jun 05, 2018 at 12:07:31PM +, Plüm, Rüdiger, Vodafone Group wrote: > The usual approach in many locations is to store the created bucket brigade > and reuse it. How about the following (untested): Passes tests and fixes the leak, though I we need to change the _destroy() to be a _clea

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 2:50 PM, Yann Ylavic wrote: > On Tue, Jun 5, 2018 at 2:07 PM, Plüm, Rüdiger, Vodafone Group > wrote: >> >> AP_DECLARE(void) ap_process_request_after_handler(request_rec *r) >> { >> @@ -357,7 +367,8 @@ >> * this bucket is destroyed, the request will be logged and >>

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 2:07 PM, Plüm, Rüdiger, Vodafone Group wrote: > > AP_DECLARE(void) ap_process_request_after_handler(request_rec *r) > { > @@ -357,7 +367,8 @@ > * this bucket is destroyed, the request will be logged and > * its pool will be freed > */ > -bb = apr_brig

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Joe Orton
On Tue, Jun 05, 2018 at 12:07:31PM +, Plüm, Rüdiger, Vodafone Group wrote: > The usual approach in many locations is to store the created bucket brigade > and reuse it. How about the following (untested): Yes, that works too, thanks! Passes test suite and fixes the leak, though I we need to

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 2:07 PM, Plüm, Rüdiger, Vodafone Group wrote: > > The usual approach in many locations is to store the created bucket brigade > and reuse it. How about the following (untested): > > Index: modules/http/http_request.c >

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 10:46 AM, Joe Orton wrote: > > http://people.apache.org/~jorton/apr-util-brigade-bucket-alloc.patch This changes the semantics a bit since the brigade can't be dereferenced in a cleanup run later by the pool. It might crash with some existing code while it didn't previously

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Stefan Eissing
+1 > Am 05.06.2018 um 14:07 schrieb Plüm, Rüdiger, Vodafone Group > : > > > >> -Ursprüngliche Nachricht- >> Von: Stefan Eissing >> Gesendet: Dienstag, 5. Juni 2018 13:27 >> An: dev@httpd.apache.org >> Cc: d...@apr.apache.org >> Betreff: Re: Brigade memory lifetime & leaks >> >> >>

AW: Brigade memory lifetime & leaks

2018-06-05 Thread Plüm , Rüdiger , Vodafone Group
> -Ursprüngliche Nachricht- > Von: Stefan Eissing > Gesendet: Dienstag, 5. Juni 2018 13:27 > An: dev@httpd.apache.org > Cc: d...@apr.apache.org > Betreff: Re: Brigade memory lifetime & leaks > > > > > Am 05.06.2018 um 10:46 schrieb Joe Orton : > > > > In 2.4's http_request.c there ar

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 1:54 PM, Yann Ylavic wrote: > On Tue, Jun 5, 2018 at 1:51 PM, Stefan Eissing > wrote: >> >> >>> Am 05.06.2018 um 13:50 schrieb Yann Ylavic : >>> >>> On Tue, Jun 5, 2018 at 1:26 PM, Stefan Eissing >>> wrote: > Am 05.06.2018 um 10:46 schrieb Joe Orton : > >

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 1:51 PM, Stefan Eissing wrote: > > >> Am 05.06.2018 um 13:50 schrieb Yann Ylavic : >> >> On Tue, Jun 5, 2018 at 1:26 PM, Stefan Eissing >> wrote: >>> Am 05.06.2018 um 10:46 schrieb Joe Orton : Another choice is to allocate the brigade structure using the buck

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Stefan Eissing
> Am 05.06.2018 um 13:50 schrieb Yann Ylavic : > > On Tue, Jun 5, 2018 at 1:26 PM, Stefan Eissing > wrote: >> >>> Am 05.06.2018 um 10:46 schrieb Joe Orton : >>> >>> Another choice is to allocate the brigade structure using the bucket >>> allocator and actually free it on _destroy(). Anybody

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Yann Ylavic
On Tue, Jun 5, 2018 at 1:26 PM, Stefan Eissing wrote: > >> Am 05.06.2018 um 10:46 schrieb Joe Orton : >> >> Another choice is to allocate the brigade structure using the bucket >> allocator and actually free it on _destroy(). Anybody around who can >> remember why we used a pool allocation for th

Re: Brigade memory lifetime & leaks

2018-06-05 Thread Stefan Eissing
> Am 05.06.2018 um 10:46 schrieb Joe Orton : > > In 2.4's http_request.c there are two places doing: > >bb = apr_brigade_create(c->pool, c->bucket_alloc); > > to handle sending a FLUSH between requests and an EOR bucket which both > can't be done off r->pool. Because the brigade structu

Brigade memory lifetime & leaks

2018-06-05 Thread Joe Orton
In 2.4's http_request.c there are two places doing: bb = apr_brigade_create(c->pool, c->bucket_alloc); to handle sending a FLUSH between requests and an EOR bucket which both can't be done off r->pool. Because the brigade structure itself is allocated out of c->pool this means we leak (~64