Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1452

Memory leak in axis2_engine_send

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.6.0
    • 1.7.0
    • core/engine
    • Windows XP, Visual Studio 2008

    Description

      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?

      Attachments

        Issue Links

          Activity

            People

              nandika Korale Gamaralalage Nandika Chandrasiri Jayawardana
              kalinr Kalin Rashev
              Votes:
              2 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0.5h
                  0.5h
                  Remaining:
                  Remaining Estimate - 0.5h
                  0.5h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified