[
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)