Re: FrameworkEvent ERROR org.osgi.framework.ServiceException: Service factory exception: Could not obtain lock
Thanks David for your reply. I don’t think there is a circular reference between the components. We didn’t see the error before our upgrades. We are seeing the issue since we upgraded jdk11 and karaf to 4.2.8 version. If you think thread dump will help you debug, i will try to get one. When this error happening one of our component is not being activated. And this is happening inconsistently not all the time. Thanks. -- Sent from: http://apache-felix.18485.x6.nabble.com/Apache-Felix-Users-f4833200.html - To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org
Re: FrameworkEvent ERROR org.osgi.framework.ServiceException: Service factory exception: Could not obtain lock
Hi, We had this issue a while back and opened an issue at: https://issues.apache.org/jira/browse/FELIX-6048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel But I don't remember seeing this in a very long time and we are using Felix 2.1.14.v20190123-1619 Sorry I can provide more details on how we got past this one. Alain On Fri, May 8, 2020 at 2:57 PM raj.all...@gmail.com wrote: > Hi, > > Please see the below error. It is happening inconsistently. Tried several > things but didn't workout. > Kindly help me in resolving the issue. > > *Environment*: > JDK11 > karaf-4.2.8 > > *ERROR:* > 2020-05-08T08:21:07,162 | ERROR | FelixDispatchQueue | FrameworkEvent > > | 200 - ui - 4.0.0 | FrameworkEvent ERROR > org.osgi.framework.ServiceException: Service factory exception: Could not > obtain lock > at > > org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:352) > ~[?:?] > at > > org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:247) > ~[?:?] > at > > org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350) > ~[?:?] > at org.apache.felix.framework.Felix.getService(Felix.java:3737) > ~[?:?] > at > > org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:86) > ~[?:?] > at > > org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47) > ~[?:?] > at > > org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1154) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1568) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:935) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:765) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1045) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:999) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) > ~[?:?] > at > > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) > ~[?:?] > at > > org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) > ~[?:?] > at > > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990) > ~[?:?] > at > > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > ~[?:?] > at > > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > ~[?:?] > at > org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) > ~[?:?] > at > org.apache.felix.framework.Felix.registerService(Felix.java:3587) ~[?:?] > at > > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) > ~[?:?] > at > > org.ops4j.pax.web.service.internal.Activator.updateController(Activator.java:381) > ~[?:?] > at > > org.ops4j.pax.web.service.internal.Activator.lambda$scheduleUpdateFactory$1(Activator.java:299) > ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > ~[?:?] > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > ~[?:?] > at java.lang.Thread.run(Thread.java:834) [?:?] > Caused by: java.lang.IllegalStateException: Could not obtain lock > at > >
Re: FrameworkEvent ERROR org.osgi.framework.ServiceException: Service factory exception: Could not obtain lock
it’s been quite a few years since I worked on this area…. do you have any circular references between DS components? Sometimes a thread dump is useful in understanding what is going on: I thought DS actually produced one in this situation. David Jencks > On May 8, 2020, at 10:09 AM, raj.all...@gmail.com wrote: > > Hi, > > Please see the below error. It is happening inconsistently. Tried several > things but didn't workout. > Kindly help me in resolving the issue. > > *Environment*: > JDK11 > karaf-4.2.8 > > *ERROR:* > 2020-05-08T08:21:07,162 | ERROR | FelixDispatchQueue | FrameworkEvent > > | 200 - ui - 4.0.0 | FrameworkEvent ERROR > org.osgi.framework.ServiceException: Service factory exception: Could not > obtain lock > at > org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:352) > ~[?:?] > at > org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:247) > ~[?:?] > at > org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350) > ~[?:?] > at org.apache.felix.framework.Felix.getService(Felix.java:3737) ~[?:?] > at > org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470) > ~[?:?] > at > org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:86) > ~[?:?] > at > org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47) > ~[?:?] > at > org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664) > ~[?:?] > at > org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308) > ~[?:?] > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1154) > ~[?:?] > at > org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1568) > ~[?:?] > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029) > ~[?:?] > at > org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:935) > ~[?:?] > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:765) > ~[?:?] > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1045) > ~[?:?] > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:999) > ~[?:?] > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) > ~[?:?] > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) > ~[?:?] > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) > ~[?:?] > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) > ~[?:?] > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) > ~[?:?] > at > org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) > ~[?:?] > at > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990) > ~[?:?] > at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > ~[?:?] > at > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > ~[?:?] > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) > ~[?:?] > at org.apache.felix.framework.Felix.registerService(Felix.java:3587) > ~[?:?] > at > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) > ~[?:?] > at > org.ops4j.pax.web.service.internal.Activator.updateController(Activator.java:381) > ~[?:?] > at > org.ops4j.pax.web.service.internal.Activator.lambda$scheduleUpdateFactory$1(Activator.java:299) > ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > ~[?:?] > at java.lang.Thread.run(Thread.java:834) [?:?] > Caused by: java.lang.IllegalStateException: Could not obtain lock > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainLock(AbstractComponentManager.java:240) > ~[?:?] > at >