Any way to easily fix it on 1.8.1? I can't move to 2.0 easily, but this issue is quite worrying.
Don On Tue, Sep 29, 2009 at 11:16 AM, Gerry Woods <gerrywo...@gmail.com> wrote: > Thanks for your response Karl. We examined the 2.0 source today and arrived > at the same conclusion. We're testing with it now. > > On Mon, Sep 28, 2009 at 2:23 PM, Karl Pauls <karlpa...@gmail.com> wrote: > >> This looks like something which should not be happening with felix >> 2.0.0 anymore. Can you reproduce the issue and if so, can you retry >> with felix 2.0? >> >> regards, >> >> Karl >> >> On Sat, Sep 26, 2009 at 1:24 AM, Gerry Woods <gerrywo...@gmail.com> wrote: >> > Hi, >> > First let me say a word of thanks for the fantastic work you guys have >> been >> > doing. We have encountered a deadlock with Felix (1.8.1) and Spring-DM >> > (1.2.0) and I wanted to run it by you guys to see if this is a known >> issue, >> > or if you have any opinions on the problem. I had a look through Jira >> for >> > any deadlock-related issues and didn't see anything that looked quite >> like >> > this. >> > Thanks for any help or feedback, >> > Gerry >> > >> > >> > Found one Java-level deadlock: >> > ============================= >> > "SpringOsgiExtenderThread-17": >> > waiting to lock monitor 0x0033d8ec (object 0x07f41dc0, a >> > org.apache.felix.framework.ServiceRegistry), >> > which is held by "SpringOsgiExtenderThread-3" >> > "SpringOsgiExtenderThread-3": >> > waiting to lock monitor 0x0033d7ac (object 0x078c9058, a >> > sun.misc.Launcher$AppClassLoader), >> > which is held by "SpringOsgiExtenderThread-17" >> > >> > Java stack information for the threads listed above: >> > =================================================== >> > "SpringOsgiExtenderThread-17": >> > at >> > >> org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:165) >> > - waiting to lock <0x07f41dc0> (a >> > org.apache.felix.framework.ServiceRegistry) >> > at >> > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:2617) >> > at >> > >> org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:2672) >> > at >> > >> org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:310) >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >> > at java.lang.reflect.Method.invoke(Unknown Source) >> > at >> > >> org.apache.felix.framework.util.SecureAction.invoke(SecureAction.java:763) >> > at >> > >> org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:476) >> > at >> > >> org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:352) >> > at java.net.URL.<init>(Unknown Source) >> > at java.net.URL.<init>(Unknown Source) >> > at java.net.URL.<init>(Unknown Source) >> > at java.net.JarURLConnection.parseSpecs(Unknown Source) >> > at java.net.JarURLConnection.<init>(Unknown Source) >> > at sun.net.www.protocol.jar.JarURLConnection.<init>(Unknown >> Source) >> > at sun.net.www.protocol.jar.Handler.openConnection(Unknown Source) >> > at java.net.URL.openConnection(Unknown Source) >> > at java.net.URL.openStream(Unknown Source) >> > at java.lang.ClassLoader.getSystemResourceAsStream(Unknown Source) >> > at java.lang.Class.getResourceAsStream(Unknown Source) >> > at sun.text.NormalizerImpl$1.run(Unknown Source) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at sun.text.NormalizerImpl.<init>(Unknown Source) >> > at sun.text.NormalizerImpl.<clinit>(Unknown Source) >> > at sun.text.Normalizer.decompose(Unknown Source) >> > at sun.text.Normalizer$NFKDMode.normalize(Unknown Source) >> > at sun.text.Normalizer.normalize(Unknown Source) >> > at sun.security.x509.AVA.toRFC2253CanonicalString(Unknown Source) >> > at sun.security.x509.RDN.toRFC2253StringInternal(Unknown Source) >> > at sun.security.x509.RDN.toRFC2253String(Unknown Source) >> > at sun.security.x509.X500Name.getRFC2253CanonicalName(Unknown >> > Source) >> > at sun.security.x509.X500Name.equals(Unknown Source) >> > at sun.security.pkcs.PKCS7.getCertificate(Unknown Source) >> > at sun.security.pkcs.SignerInfo.getCertificate(Unknown Source) >> > at sun.security.pkcs.SignerInfo.verify(Unknown Source) >> > at sun.security.pkcs.PKCS7.verify(Unknown Source) >> > at sun.security.pkcs.PKCS7.verify(Unknown Source) >> > at sun.security.util.SignatureFileVerifier.processImpl(Unknown >> > Source) >> > at sun.security.util.SignatureFileVerifier.process(Unknown Source) >> > at java.util.jar.JarVerifier.processEntry(Unknown Source) >> > at java.util.jar.JarVerifier.update(Unknown Source) >> > at java.util.jar.JarFile.initializeVerifier(Unknown Source) >> > at java.util.jar.JarFile.getInputStream(Unknown Source) >> > - locked <0x078c2b28> (a java.util.jar.JarFile) >> > at sun.misc.URLClassPath$JarLoader$1.getInputStream(Unknown >> Source) >> > at sun.misc.Resource.cachedInputStream(Unknown Source) >> > - locked <0x08338cd8> (a sun.misc.URLClassPath$JarLoader$1) >> > at sun.misc.Resource.getByteBuffer(Unknown Source) >> > at java.net.URLClassLoader.defineClass(Unknown Source) >> > at java.net.URLClassLoader.access$100(Unknown Source) >> > at java.net.URLClassLoader$1.run(Unknown Source) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at java.net.URLClassLoader.findClass(Unknown Source) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > - locked <0x078d3468> (a sun.misc.Launcher$ExtClassLoader) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > - locked <0x078c9058> (a sun.misc.Launcher$AppClassLoader) >> > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) >> > - locked <0x078c9058> (a sun.misc.Launcher$AppClassLoader) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at sun.security.jca.ProviderConfig$3.run(Unknown Source) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source) >> > at sun.security.jca.ProviderConfig.getProvider(Unknown Source) >> > - locked <0x078c9058> (a sun.misc.Launcher$AppClassLoader) >> > at sun.security.jca.ProviderList.getProvider(Unknown Source) >> > at sun.security.jca.ProviderList.getIndex(Unknown Source) >> > at sun.security.jca.ProviderList.getProviderConfig(Unknown Source) >> > at sun.security.jca.ProviderList.getProvider(Unknown Source) >> > at java.security.Security.getProvider(Unknown Source) >> > at >> > >> com.soa.security.spring.ProviderRegistration.register(ProviderRegistration.java:31) >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >> > at java.lang.reflect.Method.invoke(Unknown Source) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) >> > at >> > >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >> > - locked <0x07ff23f0> (a java.util.concurrent.ConcurrentHashMap) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) >> > at >> > >> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) >> > - locked <0x07ff2690> (a java.util.concurrent.ConcurrentHashMap) >> > at >> > >> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) >> > at >> > >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) >> > at >> > >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) >> > - locked <0x07fe1020> (a java.lang.Object) >> > at >> > >> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) >> > at >> > >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136) >> > at java.lang.Thread.run(Unknown Source) >> > "SpringOsgiExtenderThread-3": >> > at >> > >> org.apache.felix.framework.util.ldap.Evaluator.evaluate(Evaluator.java:96) >> > at >> org.apache.felix.framework.FilterImpl.match(FilterImpl.java:166) >> > at >> org.apache.felix.framework.FilterImpl.match(FilterImpl.java:226) >> > at >> > >> org.apache.felix.framework.ServiceRegistry.getServiceReferences(ServiceRegistry.java:182) >> > - locked <0x07f41dc0> (a >> org.apache.felix.framework.ServiceRegistry) >> > at >> > org.apache.felix.framework.Felix.getServiceReferences(Felix.java:2617) >> > at >> > >> org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:2672) >> > at >> > >> org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:310) >> > at >> > >> org.springframework.osgi.util.OsgiServiceReferenceUtils.getServiceReferences(OsgiServiceReferenceUtils.java:159) >> > at >> > >> org.springframework.osgi.util.OsgiServiceReferenceUtils.getServiceReferences(OsgiServiceReferenceUtils.java:195) >> > at >> > >> org.springframework.osgi.util.OsgiServiceReferenceUtils.isServicePresent(OsgiServiceReferenceUtils.java:327) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.MandatoryServiceDependency.isServicePresent(MandatoryServiceDependency.java:82) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager.doFindDependencies(DependencyServiceManager.java:287) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager.access$700(DependencyServiceManager.java:40) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager$1.run(DependencyServiceManager.java:213) >> > at >> > >> org.springframework.osgi.extender.internal.util.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:124) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyServiceManager.findServiceDependencies(DependencyServiceManager.java:209) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:248) >> > at >> > >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175) >> > at >> > >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175) >> > at >> > >> org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:718) >> > at java.lang.Thread.run(Unknown Source) >> > >> > Found 1 deadlock. >> > >> >> >> >> -- >> Karl Pauls >> karlpa...@gmail.com >> >