You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Damitha Kumarage <da...@wso2.com> on 2010/01/22 05:12:48 UTC

Re: RE : How to free axutil environment?

Olivier Mengué wrote:
>
> The problem seems to be that axutil_log_free() should call 
> axutil_file_handler_close(), isn't it ?
>
No axutil_file_handler_close is called from axutil_log_impl_free() which 
is the function actully called when environment is freed.
BTW latest valgrind does not show any memory leaks here.
Thanks,
Damitha
>
>
> -------- Message d'origine--------
> De: Olivier Mengué [mailto:omengue@oxymel.com]
>
> I've removed the axutil_env_free_masked() call, but I still have a leak.
>
> Here is the full Insure++ report:
>
> MEMORY LEAK SUMMARY
> ===================
>
> 2 outstanding memory references for 140 bytes.
>
> Outstanding allocated memory
> ----------------------------
>        128 bytes 1 chunk allocated in pth_spinlock.c
>                           malloc()  (interface)
>             _lib_spinlock_create()  
> ../../../../../../../../src/bos/usr/ccs/lib/libpthreads/pth_spinlock.c
>            _rec_mutex_init_19_13()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/rec_mutex.c
>                 _rec_mutex_alloc()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/rec_mutex.c
>                         _findiop()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/findiop.c
>                            sbcra()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/fopen.c
>                            fopen()  (interface)
>         axutil_file_handler_open()  file_handler.c
>                axutil_log_create()  log.c
>            axutil_env_create_all()  env.c
>                             main()  env_leak.c
>
>         12 bytes 1 chunk allocated in rec_mutex.c
>                           malloc()  (interface)
>                 _rec_mutex_alloc()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/rec_mutex.c
>                         _findiop()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/findiop.c
>                            sbcra()  
> ../../../../../../../src/bos/usr/ccs/lib/libc/fopen.c
>                            fopen()  (interface)
>         axutil_file_handler_open()  file_handler.c
>                axutil_log_create()  log.c
>            axutil_env_create_all()  env.c
>                             main()  env_leak.c
>


-- 
__________________________________________________________________

Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/

blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________

RE : RE : How to free axutil environment?

Posted by Olivier Mengué <om...@oxymel.com>.
Thanks for the investigation. I came up to the same conclusion as Insure++ reports the same bogus leak for the following simple program:

    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        fclose(fopen(argv[0], "r"));
        return 0;
    }

I am now filtering this leak report.

Olivier.

-------- Message d'origine--------
De: Damitha Kumarage [mailto:damitha@wso2.com]
Date: ven. 22/01/2010 05 h 12
À: Apache AXIS C User List
Objet : Re: RE : How to free axutil environment?
 

Olivier Mengué wrote:
>
> The problem seems to be that axutil_log_free() should call 
> axutil_file_handler_close(), isn't it ?
>
No axutil_file_handler_close is called from axutil_log_impl_free() which 
is the function actully called when environment is freed.
BTW latest valgrind does not show any memory leaks here.
Thanks,
Damitha