axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Bolgarov" <a...@bolgarov.org>
Subject Re: Memory leak in mod_axis2?
Date Wed, 09 Apr 2008 19:25:52 GMT
Samisa, thank you; I checked out the SVN trunk version, build it and
run the test again.

On the server side (mod_axis2) there is no more memory leaks: I run
the test with 100000 iterations, it took 4 minutes, httpd process
memory usage is stable and is not increasing.

But now there is a memory leak on the client side. I noticed that my
modified echo client (I modified the sample code to run the requests
in a loop) increases the memory usage all the time.

Then I compiled the original, unmodified echo.c sample from the
samples/client/echo directory, and run it through the valgrind. I'm
attaching the valgrind's log file; in a hope that this will help to
fix this. According to the valgrind log, there is a 6K bytes that
valgrind decided are 'definitely lost'.



Thank you,

    alex.


On Tue, Apr 8, 2008 at 9:21 AM, Samisa Abeysinghe <samisa@wso2.com> wrote:
> Local pools have been integrated to mod_axis2 in Axis2/C trunk.
>
>  You may run the tests again and see the improved memory footprint.
>
>  Samisa...
>
>
>
>  Samisa Abeysinghe wrote:
>
> > Alex Bolgarov wrote:
> >
> > > On Mon, Mar 31, 2008 at 11:17 PM, Uthaiyashankar <shankar@wso2.com>
> wrote:
> > >
> > >
> > > >  I doubt whether it is a memory leak. When using mod_axis2, memory
> > > >  management is done by apache apr. Memory is released only when pools
> are
> > > >  destroyed. Memory will not be released when calling AXIS2_FREE.
> > > >  (axis2_module_free is implemented in mod_axis2.c:412 and it is an
> empty
> > > >  method unless the pool associated with is global shared pool).
> > > >
> > > >
> > >
> > > Well, we can of course discuss the meaning of a term 'memory leak',
> > > but what happens here is awfully close to any sensible definition :)
> > >
> > > Thank you for pointing out that the mod_axis2 does not really release
> > > memory by design.
> > >
> >
> > What we are using is APR model of pools. So you cannot say that we are not
> releasing memory by design. We are depending on APR pools to release memory
> by design.
> > We have looked deep into this issue in the past, and proven that the
> request pool is reclaimed by main pool upon request completion.
> >
> >
> > > How do you think what happens if I change the
> > > allocator used by mod_axis2 to use malloc()/free(), not the APR's
> > > apr_pool_...() functions? Will the memory leak go away?.. Actually,
> > > this is exactly what I'm going to do. I have some experience in
> > > developing Apache httpd modules, and I write them in C++ and freely
> > > use new/delete operators, so I know that using a memory allocator
> > > other then APR's pool functions in the httpd process is OK.
> > >
> >
> > If you go and discuss this with httpd or apr list, they will sure tell you
> that this is the wrong way to do that.
> >
> > There are better ways of doing this, like using using local pools, which
> we are going to implement soon.
> >
> > Samisa...
> >
> >
> > > I will
> > > report my findings here, hopefully in a couple of days.
> > >
> > >
> > > Thank you,
> > >
> > >    alex.
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-c-user-help@ws.apache.org
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
>
>
>  --
>  Samisa Abeysinghe Software Architect; WSO2 Inc.
>
>  http://www.wso2.com/ - "Oxygenating the Web Service Platform."
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>  For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

Mime
View raw message