[jira] [Assigned] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
[ https://issues.apache.org/jira/browse/CXF-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Freeman Fang reassigned CXF-7026: - Assignee: Freeman Fang > 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 >Assignee: Freeman Fang > > 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)
[jira] [Commented] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
[ https://issues.apache.org/jira/browse/CXF-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15444575#comment-15444575 ] ASF GitHub Bot commented on CXF-7026: - Github user asfgit closed the pull request at: https://github.com/apache/cxf/pull/162 > 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 >Assignee: Freeman Fang > > 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)
[jira] [Commented] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
[ https://issues.apache.org/jira/browse/CXF-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15444585#comment-15444585 ] Freeman Fang commented on CXF-7026: --- patch applied on behalf of Grzegorz Grzybek with thanks http://git-wip-us.apache.org/repos/asf/cxf/commit/09712af1 for master http://git-wip-us.apache.org/repos/asf/cxf/commit/6c14b437 for 3.1.x-fixes branch > 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 >Assignee: Freeman Fang > > 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)
[jira] [Resolved] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
[ https://issues.apache.org/jira/browse/CXF-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Freeman Fang resolved CXF-7026. --- Resolution: Fixed Fix Version/s: 3.1.8 3.2.0 > 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 >Assignee: Freeman Fang > Fix For: 3.2.0, 3.1.8 > > > 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)
[jira] [Commented] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
[ https://issues.apache.org/jira/browse/CXF-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15444841#comment-15444841 ] Grzegorz Grzybek commented on CXF-7026: --- [~ffang] thanks for merging! > 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 >Assignee: Freeman Fang > Fix For: 3.2.0, 3.1.8 > > > 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)