Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6590

MAPCodec: memory leak with sync client when soapfaults returned from endpoint

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.6
    • Fix Version/s: 3.0.13, 3.1.11
    • Component/s: WS-* Components
    • Labels:
      None
    • Environment:

      CXF 3.0.6, JDK 1.7, CXF 3.1.2

    • Estimated Complexity:
      Moderate

      Description

      This bug is similar to CXF-2591 but relates to sync clients.
      A simple client using a service with WS-Addressing which makes repeated calls to a service that returns a soapfault will cause a build up of objects in MAPCodec::uncorrelatedExchanges.
      The real use case is an application using Apache Camel to keep invoking a service that returns a fault (for instance wsa:DestinationUnreachable) using the built in redelivery-functions of Apache Camel.
      A simple CXF client that reproduces the issue has been created. The client just invokes a service in a loop and by observing the used memory (jconsole) and performing memory dumps which can be analyzed using MAT, you can see the issue.
      A standalone wiremock functions as the endpoint.
      The reproducers will be attached.

        Attachments

        1. cxfoom.zip
          60 kB
          Bjørn Hilstad
        2. wiremock.zip
          5.33 MB
          Bjørn Hilstad

          Issue Links

            Activity

              People

              • Assignee:
                dkulp Daniel Kulp
                Reporter:
                bjorn.hilstad Bjørn Hilstad
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: