[ https://issues.apache.org/jira/browse/SMX4-744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13578441#comment-13578441 ]
metatech edited comment on SMX4-744 at 2/14/13 3:59 PM: -------------------------------------------------------- The message "did not finish in 10000ms" seems to be caused by the presence of felix "eventadmin" component, probably due to a bug in Felix. When "eventadmin" is uninstalled, the stop takes a few seconds instead of a few minutes (depending on the number of bundles using the component). Below is the stack trace which is executed when a using bundle get stopped, in which SMX can get stuck for several minutes : {noformat} "Timer-1" daemon prio=6 tid=0x5fdcd000 nid=0x27c4 in Object.wait() [0x6254f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:4820) - locked <0x1e555d78> (a [Ljava.lang.Object;) at org.apache.felix.framework.Felix.access$400(Felix.java:80) at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4080) at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645) at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:519) at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:275) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:855) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772) at org.apache.felix.framework.Felix.access$000(Felix.java:80) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.unpublishContextAsOsgiService(AbstractOsgiBundleApplicationContext.java:358) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:195) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:374) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970) - locked <0x22a02118> (a java.lang.Object) at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$3.run(ContextLoaderListener.java:805) at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60) at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:70) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) {noformat} was (Author: metatech): The message "did not finish in 10000ms" seems to be caused by the presence of felix "eventadmin" component, probably due to a bug in Felix. When "eventadmin" is uninstalled, the stop takes a few seconds instead of a few minutes (depending on the number of bundles using the component). Below is the stack trace which is executed when a using bundle get stopped, in which SMX can get stuck for several minutes : {code} "Timer-1" daemon prio=6 tid=0x5fdcd000 nid=0x27c4 in Object.wait() [0x6254f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:4820) - locked <0x1e555d78> (a [Ljava.lang.Object;) at org.apache.felix.framework.Felix.access$400(Felix.java:80) at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4080) at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645) at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:519) at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:275) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:855) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772) at org.apache.felix.framework.Felix.access$000(Felix.java:80) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.unpublishContextAsOsgiService(AbstractOsgiBundleApplicationContext.java:358) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:195) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:374) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970) - locked <0x22a02118> (a java.lang.Object) at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$3.run(ContextLoaderListener.java:805) at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60) at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:70) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) > specify camel feature bundle start level less than 60 > ----------------------------------------------------- > > Key: SMX4-744 > URL: https://issues.apache.org/jira/browse/SMX4-744 > Project: ServiceMix 4 > Issue Type: Improvement > Reporter: Freeman Fang > Assignee: Freeman Fang > Fix For: 4.4.0 > > > so that the camel related bundles always get started before end users > bundle, this can avoid lots of asyn issues customer may encounter. > More discussion from [1] > [1]http://servicemix.396122.n5.nabble.com/DISCUSS-how-about-specify-camel-feature-bundle-level-less-than-60-td3334566.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira