cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-7026) o.a.c.transport.http.osgi.HttpServiceTrackerCust service leak
Date Mon, 29 Aug 2016 02:34:21 GMT

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

Mime
View raw message