You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2009/05/12 05:12:45 UTC

[jira] Issue Comment Edited: (CXF-2211) Investigate possible OOM exception caused by Continuations

    [ https://issues.apache.org/jira/browse/CXF-2211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12708308#action_12708308 ] 

Freeman Fang edited comment on CXF-2211 at 5/11/09 8:11 PM:
------------------------------------------------------------

Hi Segery,

The memory leak problem of JMSContinuation is still there with your change, same behavior by my test.

And for the HTTP continuations, below is the statistics, given server side received 10000 messages through http
jmap -histo:live 7595|grep cxf
  12:        220019        5280456  org.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder
  16:         40004        4160416  [Lorg.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder;
  32:         20000        1280000  org.apache.cxf.message.MessageImpl
  40:         20002         960096  org.apache.cxf.phase.PhaseInterceptorChain
  48:         10000         720000  org.apache.cxf.message.ExchangeImpl
  56:         10000         480000  org.apache.cxf.ws.addressing.AddressingPropertiesImpl
  57:         20000         480000  org.apache.cxf.phase.PhaseInterceptorChain$PhaseInterceptorIterator
  63:         20086         321376  org.apache.cxf.common.util.SortedArraySet
  64:         10002         320064  org.apache.cxf.ws.addressing.EndpointReferenceType
  66:         10000         320000  org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit
  67:         10000         320000  org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream
  70:         10000         320000  org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor
  72:         20000         320000  org.apache.cxf.binding.soap.SoapMessage
  84:         10002         160032  org.apache.cxf.ws.addressing.AttributedURIType
  85:         10000         160000  org.apache.cxf.endpoint.PreexistingConduitSelector
  86:         10000         160000  org.apache.cxf.transport.http_jetty.continuations.JettyContinuationProvider
  87:         10000         160000  org.apache.cxf.transport.http.AbstractHTTPDestination$1
  88:         10000         160000  org.apache.cxf.staxutils.DepthXMLStreamReader
  89:         10000         160000  org.apache.cxf.transport.http.HTTPSession


Thanks
Freeman

      was (Author: ffang):
    Hi Segery,

The memory leak problem of JMSContinuation is still there with your change, same behavior by my test.

And for the HTTP continuations, below is the statistics
jmap -histo:live 7595|grep cxf
  23:         20127         483048  org.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder
  26:          3660         380640  [Lorg.apache.cxf.phase.PhaseInterceptorChain$InterceptorHolder;
  51:          1828         116992  org.apache.cxf.message.MessageImpl
  61:          1830          87840  org.apache.cxf.phase.PhaseInterceptorChain
  69:           914          65808  org.apache.cxf.message.ExchangeImpl
  84:           914          43872  org.apache.cxf.ws.addressing.AddressingPropertiesImpl
  85:          1828          43872  org.apache.cxf.phase.PhaseInterceptorChain$PhaseInterceptorIterator
  96:          1914          30624  org.apache.cxf.common.util.SortedArraySet
  99:           916          29312  org.apache.cxf.ws.addressing.EndpointReferenceType
 101:           914          29248  org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit
 102:           914          29248  org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream
 105:           914          29248  org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor
 107:          1828          29248  org.apache.cxf.binding.soap.SoapMessage
 142:           916          14656  org.apache.cxf.ws.addressing.AttributedURIType
 143:           914          14624  org.apache.cxf.endpoint.PreexistingConduitSelector
 144:           914          14624  org.apache.cxf.transport.http_jetty.continuations.JettyContinuationProvider
 145:           914          14624  org.apache.cxf.transport.http.AbstractHTTPDestination$1
 146:           914          14624  org.apache.cxf.staxutils.DepthXMLStreamReader
 147:           914          14624  org.apache.cxf.transport.http.HTTPSession

Thanks
Freeman
  
> Investigate possible OOM exception caused by Continuations
> ----------------------------------------------------------
>
>                 Key: CXF-2211
>                 URL: https://issues.apache.org/jira/browse/CXF-2211
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.0.11, 2.1.5, 2.2.1
>            Reporter: Sergey Beryozkin
>             Fix For: 2.0.12, 2.1.6, 2.2.2
>
>
> Apparently JMS and HTTP continuations leak, here is a comment from Freeman (see CXF 2002) :
> But another issue I've found is the message leak problem with jms continuation, let's say the server side recieved 1001 message
> then I saw the class instance like (get it by "jmap -histo:live" with jdk6)
>            instance_count size
>   51: 2002 128128 org.apache.cxf.message.MessageImpl
>   66: 2004 96192 org.apache.cxf.phase.PhaseInterceptorChain
>   67: 2002 96096 org.apache.cxf.transport.jms.JMSMessageHeadersType
>   77: 1001 72072 org.apache.cxf.message.ExchangeImpl
>   88: 1001 56056 org.apache.cxf.transport.jms.JMSOutputStream
>   99: 1001 48048 org.apache.cxf.ws.addressing.AddressingPropertiesImpl
>  100: 1001 48048 org.apache.cxf.transport.jms.continuations.JMSContinuation
>  101: 2002 48048 org.apache.cxf.phase.PhaseInterceptorChain$PhaseInterceptorIterator
>  113: 2088 33408 org.apache.cxf.common.util.SortedArraySet
>  116: 1003 32096 org.apache.cxf.ws.addressing.EndpointReferenceType
>  120: 1001 32032 org.apache.cxf.transport.jms.continuations.JMSContinuationProvider
>  121: 2002 32032 org.apache.cxf.binding.soap.SoapMessage
>  122: 1001 32032 org.apache.cxf.transport.jms.JMSDestination$BackChannelConduit
>  124: 1001 32032 org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor
>  161: 1003 16048 org.apache.cxf.ws.addressing.AttributedURIType
>  162: 1001 16016 org.apache.cxf.staxutils.DepthXMLStreamReader
>  163: 1001 16016 org.apache.cxf.helpers.LoadingByteArrayOutputStream
>  164: 1001 16016 org.apache.cxf.endpoint.PreexistingConduitSelector
> never get released, so if sever run after long term, we will encouter the OOM exception.
> I guess this might be another issue, so please create a new ticket if you feel it's necessary.
> Btw, I also see same memory leak problem with cxf http continuation. 

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