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

ASF GitHub Bot commented on CXF-7026:
-------------------------------------

GitHub user grgrzybek opened a pull request:

    https://github.com/apache/cxf/pull/162

    [CXF-7026] o.a.c.transport.http.osgi.HttpServiceTrackerCust#removedSe…

    …rvice was not called

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/grgrzybek/cxf master-CXF-7026

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cxf/pull/162.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #162
    
----
commit 09712af17f75e9d81d05718e8270cc3741e276db
Author: Grzegorz Grzybek <[email protected]>
Date:   2016-08-26T14:23:52Z

    [CXF-7026] o.a.c.transport.http.osgi.HttpServiceTrackerCust#removedService 
was not called

----


> o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
> -------------------------------------------------------------
>
>                 Key: CXF-7026
>                 URL: https://issues.apache.org/jira/browse/CXF-7026
>             Project: CXF
>          Issue Type: Bug
>          Components: OSGi
>    Affects Versions: 3.1.7
>            Reporter: Grzegorz Grzybek
>
> During memory leak search I saw some old registrations of 
> {{org.apache.cxf.transport.servlet.CXFNonSpringServlet}}. Here's GC root path:
> {noformat}
> this     - value: 
> org.eclipse.jetty.server.ServerConnector$ServerConnectorManager #1
>  <- _manager     - class: org.eclipse.jetty.server.ServerConnector, value: 
> org.eclipse.jetty.server.ServerConnector$ServerConnectorManager #1
>   <- [0]     - class: java.lang.Object[], value: 
> org.eclipse.jetty.server.ServerConnector #1
>    <- array     - class: java.util.concurrent.CopyOnWriteArrayList, value: 
> java.lang.Object[] #17136
>     <- _connectors     - class: 
> org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper, value: 
> java.util.concurrent.CopyOnWriteArrayList #521
>      <- _server     - class: 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler, value: 
> org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper #1
>       <- _servletHandler     - class: 
> org.eclipse.jetty.servlet.ServletHolder, value: 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler #1
>        <- this$0     - class: org.eclipse.jetty.servlet.ServletHolder$Config, 
> value: org.eclipse.jetty.servlet.ServletHolder #1
>         <- config     - class: 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet, value: 
> org.eclipse.jetty.servlet.ServletHolder$Config #1
>          <- servlet     - class: 
> org.apache.cxf.transport.http.osgi.ServletExporter, value: 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet #1
>           <- m_svcObj     - class: 
> org.apache.felix.framework.ServiceRegistrationImpl, value: 
> org.apache.cxf.transport.http.osgi.ServletExporter #1
>            <- [2]     - class: org.osgi.framework.ServiceRegistration[], 
> value: org.apache.felix.framework.ServiceRegistrationImpl #311
>             <- value     - class: java.util.HashMap$Node, value: 
> org.osgi.framework.ServiceRegistration[] #87
>              <- [179]     - class: java.util.HashMap$Node[], value: 
> java.util.HashMap$Node #47874
>               <- table     - class: java.util.HashMap, value: 
> java.util.HashMap$Node[] #9801
>                <- m     - class: java.util.Collections$SynchronizedMap, 
> value: java.util.HashMap #84
>                 <- m_regsMap     - class: 
> org.apache.felix.framework.ServiceRegistry, value: 
> java.util.Collections$SynchronizedMap #7
>                  <- m_registry (Java frame)     - class: 
> org.apache.felix.framework.FrameworkStartLevelImpl, value: 
> org.apache.felix.framework.ServiceRegistry #1
> {noformat}
> which shows that CXF servlet prevents from freeing previous instance of 
> {{org.eclipse.jetty.server.ServerConnector}}.
> After some debugging, I've found that 
> {{org.apache.cxf.transport.http.osgi.HttpServiceTrackerCust#removedService()}}
>  isn't called - why? because 
> {{org.apache.cxf.transport.http.osgi.HttpServiceTrackerCust#addingService()}} 
> returns {{null}}...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to