axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Giger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2C-399) memory leaks
Date Thu, 28 Dec 2006 12:55:24 GMT
    [ http://issues.apache.org/jira/browse/AXIS2C-399?page=comments#action_12461188 ] 
            
Marc Giger commented on AXIS2C-399:
-----------------------------------

Also I see again leaks in the normal path:

Started Simple Axis2 HTTP Server ...
==13476== Thread 2:
==13476== Invalid read of size 1
==13476==    at 0x4906905: memmove (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==13476==    by 0x54B4F04: axis2_http_transport_utils_process_http_post_request (http_transport_utils.c:205)
==13476==    by 0x54B2B46: axis2_http_worker_process_request (http_worker.c:350)
==13476==    by 0x55CA2BF: axis2_svr_thread_worker_func (http_svr_thread.c:337)
==13476==    by 0x36F6B05FBB: start_thread (in /lib64/libpthread-2.4.so)
==13476==    by 0x36F64B8CED: clone (in /lib64/libc-2.4.so)
==13476==  Address 0x5891183 is 0 bytes after a block of size 3 alloc'd
==13476==    at 0x4905930: malloc (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==13476==    by 0x4C46879: axis2_strdup (string.c:34)
==13476==    by 0x54B6FAA: axis2_http_header_create (http_header.c:84)
==13476==    by 0x54B70CC: axis2_http_header_create_by_str (http_header.c:143)
==13476==    by 0x55C9A6A: axis2_simple_http_svr_conn_read_request (simple_http_svr_conn.c:369)
==13476==    by 0x55CA2AA: axis2_svr_thread_worker_func (http_svr_thread.c:335)
==13476==    by 0x36F6B05FBB: start_thread (in /lib64/libpthread-2.4.so)
==13476==    by 0x36F64B8CED: clone (in /lib64/libc-2.4.so)
==13476==
==13476== ERROR SUMMARY: 21 errors from 4 contexts (suppressed: 4 from 1)
==13476== malloc/free: in use at exit: 7,731 bytes in 39 blocks.
==13476== malloc/free: 287,756 allocs, 287,717 frees, 18,995,269 bytes allocated.
==13476== For counts of detected errors, rerun with: -v
==13476== searching for pointers to 39 not-freed blocks.
==13476== checked 8,840,272 bytes.
==13476==
==13476== Thread 1:
==13476==
==13476==
==13476== 272 bytes in 1 blocks are possibly lost in loss record 19 of 28
==13476==    at 0x4904BBE: calloc (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==13476==    by 0x36F570F44D: allocate_dtv (in /lib64/ld-2.4.so)
==13476==    by 0x36F570F4E4: _dl_allocate_tls (in /lib64/ld-2.4.so)
==13476==    by 0x36F6B0676D: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.4.so)
==13476==    by 0x4C4F229: axis2_thread_create (thread_unix.c:120)
==13476==    by 0x55CA530: axis2_http_svr_thread_run (http_svr_thread.c:224)
==13476==    by 0x55CA9A7: axis2_http_server_start (http_server.c:235)
==13476==    by 0x4014AA: main (http_server_main.c:176)
==13476==
==13476==
==13476== 1,125 (80 direct, 1,045 indirect) bytes in 1 blocks are definitely lost in loss
record 21 of 28
==13476==    at 0x4905930: malloc (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==13476==    by 0x54A67DA: axis2_op_ctx_create (op_ctx.c:140)
==13476==    by 0x548B5E1: axis2_ctx_handler_invoke (ctx_handler.c:146)
==13476==    by 0x548959C: axis2_phase_invoke (phase.c:362)
==13476==    by 0x548BB5D: axis2_engine_invoke_phases (engine.c:779)
==13476==    by 0x548C5AB: axis2_engine_receive (engine.c:398)
==13476==    by 0x54B4C58: axis2_http_transport_utils_process_http_post_request (http_transport_utils.c:479)
==13476==    by 0x54B2B46: axis2_http_worker_process_request (http_worker.c:350)
==13476==    by 0x55CA2BF: axis2_svr_thread_worker_func (http_svr_thread.c:337)
==13476==    by 0x36F6B05FBB: start_thread (in /lib64/libpthread-2.4.so)
==13476==    by 0x36F64B8CED: clone (in /lib64/libc-2.4.so)
==13476==
==13476== LEAK SUMMARY:
==13476==    definitely lost: 144 bytes in 2 blocks.
==13476==    indirectly lost: 5,231 bytes in 27 blocks.
==13476==      possibly lost: 272 bytes in 1 blocks.
==13476==    still reachable: 2,084 bytes in 9 blocks.
==13476==         suppressed: 0 bytes in 0 blocks.
==13476== Reachable blocks (those to which a pointer was found) are not shown.
==13476== To see them, rerun with: --show-reachable=yes

> memory leaks
> ------------
>
>                 Key: AXIS2C-399
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-399
>             Project: Axis2-C
>          Issue Type: Bug
>    Affects Versions: Current (Nightly)
>         Environment: linux simple http server
>            Reporter: Marc Giger
>         Assigned To: Samisa Abeysinghe
>             Fix For: 0.96
>
>
> I see massive memory leaks with the Simple Axis2 HTTP Server.
> Because I can't test it with mod_axis2 I can only report it with the simple http server.
> Here are two valgrind outputs:
> The first one is with a shoot to the sample echo service:
> Started Simple Axis2 HTTP Server ...
> ==19904==
> ==19904== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 45 from
> 1) ==19904== malloc/free: in use at exit: 71,000 bytes in 1,038 blocks.
> ==19904== malloc/free: 15,119 allocs, 14,081 frees, 1,513,871 bytes
> allocated. ==19904== For counts of detected errors, rerun with: -v
> ==19904== searching for pointers to 1,038 not-freed blocks.
> ==19904== checked 8,697,064 bytes.
> ==19904==
> ==19904== LEAK SUMMARY:
> ==19904==    definitely lost: 70,309 bytes in 1,023 blocks.
> ==19904==      possibly lost: 136 bytes in 1 blocks.
> ==19904==    still reachable: 555 bytes in 14 blocks.
> ==19904==         suppressed: 0 bytes in 0 blocks.
> ==19904== Use --leak-check=full to see details of leaked memory.
> This second one is with a service built with the skeleton generator and
> no data binding but just XML in/out:
> Started Simple Axis2 HTTP Server ...
> ==13034==
> ==13034== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 46 from
> 1) ==13034== malloc/free: in use at exit: 200,214 bytes in 1,025 blocks.
> ==13034== malloc/free: 24,826 allocs, 23,801 frees, 2,676,022 bytes
> allocated. ==13034== For counts of detected errors, rerun with: -v
> ==13034== searching for pointers to 1,025 not-freed blocks.
> ==13034== checked 8,697,064 bytes.
> ==13034==
> ==13034== LEAK SUMMARY:
> ==13034==    definitely lost: 199,523 bytes in 1,010 blocks.
> ==13034==      possibly lost: 136 bytes in 1 blocks.
> ==13034==    still reachable: 555 bytes in 14 blocks.
> ==13034==         suppressed: 0 bytes in 0 blocks.
> ==13034== Use --leak-check=full to see details of leaked memory.
> My service function looks like the following:
> axiom_node_t* axis2_skel_TestService_Test (const axis2_env_t *env,
> 					      axiom_node_t* param0 )
> {
> 	return param0;
> }
> In this case i sent a document with about 34KB in size.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message