You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Kalin Rashev (JIRA)" <ji...@apache.org> on 2010/02/19 11:11:27 UTC

[jira] Created: (AXIS2C-1452) Memory leak in axis2_engine_send

Memory leak in axis2_engine_send
--------------------------------

                 Key: AXIS2C-1452
                 URL: https://issues.apache.org/jira/browse/AXIS2C-1452
             Project: Axis2-C
          Issue Type: Bug
          Components: core/engine
    Affects Versions: 1.6.0
         Environment: Windows XP, Visual Studio 2008
            Reporter: Kalin Rashev


Hi guys, 

I found a memory leak, which is pretty annoyng to me. It is small, but my applications runs really long time, and it sends frequent requests.
I'm developing under windows and I'm using a nice memory leak tool, called Visual Leak Detector.
Here is the Visual Leak Detector stacktrace report:

    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\util\src\allocator.c (75): axutil_allocator_malloc_impl
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\util\src\stream.c (86): axutil_stream_create_internal
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\util\src\stream.c (510): axutil_stream_create_socket
    0x01021760 (File and line number not available): (Function name unavailable)
    0x01024D65 (File and line number not available): (Function name unavailable)
    0x0102B66A (File and line number not available): (Function name unavailable)
    0x0102A9A5 (File and line number not available): (Function name unavailable)
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\src\core\engine\engine.c (176): axis2_engine_send
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\src\core\clientapi\op_client.c (1171): axis2_op_client_two_way_send
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\src\core\clientapi\op_client.c (508): axis2_op_client_execute
    d:\workspaces\toptapi\cti-build-setups\axis2c-src-1.6.0\src\core\clientapi\svc_client.c (733): axis2_svc_client_send_receive_with_op_qname

The (Function name unavailable) is actually a macro, that's why it can't find the stacktrace. It is in line 176:

status = AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx);

This macro actually allocates memory for  an axutil_stream_t *stream in axis2c-src-1.6.0\util\src\stream.c (510): axutil_stream_create_socket function.
This stream is never freed.

Could you add the call to axutil_stream_free(...) where appropriate?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.