Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C1DA4DC54 for ; Tue, 30 Oct 2012 14:28:12 +0000 (UTC) Received: (qmail 56561 invoked by uid 500); 30 Oct 2012 14:28:12 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 56522 invoked by uid 500); 30 Oct 2012 14:28:12 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 56513 invoked by uid 99); 30 Oct 2012 14:28:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Oct 2012 14:28:12 +0000 Date: Tue, 30 Oct 2012 14:28:12 +0000 (UTC) From: "Christian Schneider (JIRA)" To: issues@cxf.apache.org Message-ID: <1135517421.44718.1351607292362.JavaMail.jiratomcat@arcas> In-Reply-To: <716284082.6892.1350795012802.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (DOSGI-125) The dead lock in TopologyManagerImport MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/DOSGI-125?page=3Dcom.atlassian.= jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D13486= 904#comment-13486904 ]=20 Christian Schneider commented on DOSGI-125: ------------------------------------------- I have just done a bigger refactoring of TopologyManager on trunk. I think = my change should have removed the possibility of this deadlock. Can you che= ck if it still occurs? =20 > The dead lock in TopologyManagerImport > -------------------------------------- > > Key: DOSGI-125 > URL: https://issues.apache.org/jira/browse/DOSGI-125 > Project: CXF Distributed OSGi > Issue Type: Bug > Components: DSW > Affects Versions: 1.3.1 > Reporter: kenny > Labels: dosgi-cxf > > Hi,All > I met dead lock!!! > 2012-10-21 12:38:27,643 pool-2-thread-1 INFO service.RemoteServiceAdminC= ore - importService() Endpoint: {endpoint.id=3Dhttp://127.0.0.1:9002/nns, o= bjectClass=3D[Ljava.lang.String;@1f4ea9d, service.imported=3Dtrue, service.= imported.configs=3Dorg.apache.cxf.ws} > 2012-10-21 12:38:27,645 pool-2-thread-1 INFO service.RemoteServiceAdminC= ore - Interfaces: [com.xx.ngoss.einms.nserver.nns.common.service.INNSServic= e] > 2012-10-21 12:38:27,647 pool-2-thread-1 INFO service.RemoteServiceAdminC= ore - Proxifying interface : com.xx.ngoss.einms.nserver.nns.common.service.= INNSService > 2012-10-21 12:38:27 org.apache.cxf.dosgi.topologymanager.ListenerHookImpl= removed > INFO: ListenerHookImpl: removed: [org.springframework.osgi.extender.inter= nal.dependencies.startup.DependencyServiceManager$DependencyServiceListener= @e11a87(objectClass=3Dcom.xx.ngoss.einms.nserver.nns.common.service.INNSSer= vice)] > 2012-10-21 12:38:27 org.apache.cxf.dosgi.topologymanager.ListenerHookImpl= removed > INFO: (objectClass=3Dcom.xx.ngoss.einms.nserver.nns.common.service.INNSSe= rvice) > When running here, appeared dead lock, > jconsole message as follows: > Thread:SpringOsgiExtenderThread-7 > =E5=90=8D=E7=A7=B0=EF=BC=9A SpringOsgiExtenderThread-7 > =E7=8A=B6=E6=80=81=EF=BC=9ABLOCKED =E5=9C=A8 java.util.HashMap@16d383a = =E4=B8=8A=EF=BC=8Cowner=EF=BC=9A pool-2-thread-1 > =E9=98=BB=E5=A1=9E=E6=80=BB=E6=95=B0=EF=BC=9A10 =E7=AD=89=E5=BE=85=E6=80= =BB=E6=95=B0=EF=BC=9A 0 > =E5=A0=86=E6=A0=88=E8=BF=BD=E8=B8=AA=EF=BC=9A=20 > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.addImportableS= ervice(TopologyManagerImport.java:183) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.endpointAdded(E= ndpointListenerImpl.java:113) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.triggerCallb= acks(LocalDiscovery.java:221) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.triggerCallb= acks(LocalDiscovery.java:230) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery.registerTrac= ker(LocalDiscovery.java:112) > org.apache.cxf.dosgi.discovery.local.internal.LocalDiscovery$1.modifiedSe= rvice(LocalDiscovery.java:79) > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTr= acker.java:909) > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237) > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracke= r.java:840) > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.service= Changed(FilteredServiceListener.java:104) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(= BundleContextImpl.java:933) > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManag= er.java:227) > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronou= s(ListenerQueue.java:149) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceE= ventPrivileged(ServiceRegistry.java:756) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$1.run(ServiceRe= gistry.java:715) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceE= vent(ServiceRegistry.java:713) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProp= erties(ServiceRegistrationImpl.java:171) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.updateRegistrat= ion(EndpointListenerImpl.java:101) > org.apache.cxf.dosgi.topologymanager.EndpointListenerImpl.extendScope(End= pointListenerImpl.java:68) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.addServiceInte= rest(TopologyManagerImport.java:125) > - =E5=B7=B2=E9=94=81=E5=AE=9A java.util.HashMap@196c8c2 > org.apache.cxf.dosgi.topologymanager.ListenerHookImpl.added(ListenerHookI= mpl.java:94) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerH= ooksPrivileged(ServiceRegistry.java:1269) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$5.run(ServiceRe= gistry.java:1238) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerH= ooks(ServiceRegistry.java:1236) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.addServiceListe= ner(ServiceRegistry.java:651) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.addServiceList= ener(BundleContextImpl.java:242) > org.springframework.osgi.util.OsgiListenerUtils.registerListener(OsgiList= enerUtils.java:99) > org.springframework.osgi.util.OsgiListenerUtils.addServiceListener(OsgiLi= stenerUtils.java:86) > org.springframework.osgi.extender.internal.dependencies.startup.Dependenc= yServiceManager.register(DependencyServiceManager.java:313) > org.springframework.osgi.extender.internal.dependencies.startup.Dependenc= yWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationConte= xtExecutor.java:257) > org.springframework.osgi.extender.internal.dependencies.startup.Dependenc= yWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContex= tExecutor.java:169) > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplic= ationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175) > org.springframework.osgi.extender.internal.activator.ContextLoaderListene= r$2.run(ContextLoaderListener.java:716) > java.lang.Thread.run(Unknown Source) > Thread:pool-2-thread-1 > =E5=90=8D=E7=A7=B0=EF=BC=9A pool-2-thread-1 > =E7=8A=B6=E6=80=81=EF=BC=9ABLOCKED =E5=9C=A8 java.util.HashMap@196c8c2 = =E4=B8=8A=EF=BC=8Cowner=EF=BC=9A SpringOsgiExtenderThread-7 > =E9=98=BB=E5=A1=9E=E6=80=BB=E6=95=B0=EF=BC=9A2 =E7=AD=89=E5=BE=85=E6=80= =BB=E6=95=B0=EF=BC=9A 0 > =E5=A0=86=E6=A0=88=E8=BF=BD=E8=B8=AA=EF=BC=9A=20 > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.removeServiceI= nterest(TopologyManagerImport.java:136) > org.apache.cxf.dosgi.topologymanager.ListenerHookImpl.removed(ListenerHoo= kImpl.java:109) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerH= ooksPrivileged(ServiceRegistry.java:1271) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$5.run(ServiceRe= gistry.java:1238) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyListenerH= ooks(ServiceRegistry.java:1236) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.removeServiceLi= stener(ServiceRegistry.java:680) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.removeServiceL= istener(BundleContextImpl.java:284) > org.springframework.osgi.util.OsgiListenerUtils.removeServiceListener(Osg= iListenerUtils.java:190) > org.springframework.osgi.extender.internal.dependencies.startup.Dependenc= yServiceManager.deregister(DependencyServiceManager.java:342) > org.springframework.osgi.extender.internal.dependencies.startup.Dependenc= yServiceManager$DependencyServiceListener.serviceChanged(DependencyServiceM= anager.java:115) > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.service= Changed(FilteredServiceListener.java:104) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(= BundleContextImpl.java:933) > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManag= er.java:227) > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronou= s(ListenerQueue.java:149) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceE= ventPrivileged(ServiceRegistry.java:756) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$1.run(ServiceRe= gistry.java:715) > java.security.AccessController.doPrivileged(Native Method) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceE= vent(ServiceRegistry.java:713) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.registe= r(ServiceRegistrationImpl.java:130) > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService= (ServiceRegistry.java:206) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerServic= e(BundleContextImpl.java:507) > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerServic= e(BundleContextImpl.java:525) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.proxifyMatchingIn= terface(RemoteServiceAdminCore.java:449) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.importService(Rem= oteServiceAdminCore.java:405) > - =E5=B7=B2=E9=94=81=E5=AE=9A java.util.LinkedHashMap@130d50a > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$2.run(RemoteS= erviceAdminInstance.java:120) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$2.run(RemoteS= erviceAdminInstance.java:114) > java.security.AccessController.doPrivileged(Native Method) > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.importService= (RemoteServiceAdminInstance.java:114) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.importService(= TopologyManagerImport.java:321) > - =E5=B7=B2=E9=94=81=E5=AE=9A org.apache.cxf.dosgi.topologymanager.Rem= oteServiceAdminList@f2bc8d > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.importAllServi= cesStrategy(TopologyManagerImport.java:246) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport.access$300(Top= ologyManagerImport.java:41) > org.apache.cxf.dosgi.topologymanager.TopologyManagerImport$1.run(Topology= ManagerImport.java:204) > - =E5=B7=B2=E9=94=81=E5=AE=9A java.util.HashMap@16d383a > - =E5=B7=B2=E9=94=81=E5=AE=9A java.util.HashMap@3905e3 > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) > java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > java.lang.Thread.run(Unknown Source) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs For more information on JIRA, see: http://www.atlassian.com/software/jira