Community
Participate
Working Groups
The dump says: org.eclipse.equinox.launcher.Main at localhost:62704 Thread Group [system] Thread Group [main] Thread [main] (Suspended) owns: ArrayList<E> (id=229) owns: WirePuller (id=157) owns: HashMap<K,V> (id=230) owns: EclipseAppHandle (id=193) owns: DefaultClassLoader (id=131) waited by: Daemon Thread [Framework Event Dispatcher] (Suspended) owns: ArrayList<E> (id=232) owns: HashMap<K,V> (id=195) owns: ArrayList<E> (id=233) owns: WirePuller (id=234) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) waiting for: DefaultClassLoader (id=131) owned by: Thread [main] (Suspended) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) waiting for: DefaultClassLoader (id=131) owned by: Thread [main] (Suspended) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) RemoteServiceRegistry.registerService(IRemoteServiceReference, BundleContext) line: 73 RemoteServiceFactory.createAndRegisterProxy(RemoteServiceDescription, BundleContext) line: 167 RemoteServiceFactory.createAndRegisterProxy(Class<?>, String, String, BundleContext) line: 131 ProxyFactory.andStart(BundleContext) line: 68 Activator(BetriebsartAwareActivator).registerRemoteProxy(Class<?>, String) line: 174 Activator.createOnlinePartnerService(BundleContext) line: 45 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 Activator(BetriebsartAwareActivator).registerBetriebsartAbhaengigeServices(BundleContext, BetriebsartStatus) line: 123 Activator(BetriebsartAwareActivator).updateBetriebsartAbhaengigeServices(BetriebsartStatus) line: 94 Activator(BetriebsartAwareActivator).updateBetriebsartAbhaengigeServices() line: 89 Activator(BetriebsartAwareActivator).bind(IStatusRegistry) line: 207 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 FilterInjector(ServiceInjector).invoke(Method, Object) line: 448 FilterInjector(ServiceInjector).invokeBindMethod(ServiceReference) line: 412 FilterInjector.doBind(ServiceReference) line: 58 FilterInjector.doStart() line: 34 FilterInjector(ServiceInjector).andStart(BundleContext) line: 133 WirePuller.injectServiceInto(Object, Method) line: 188 WirePuller.injectIntoAnnotatedMethods(Object, Class<?>) line: 145 WirePuller.wire(Class<?>) line: 137 WirePuller.wire(Class<?>) line: 132 WirePuller.andStart(BundleContext) line: 96 Activator(BetriebsartAwareActivator).start(BundleContext) line: 67 Activator.start(BundleContext) line: 28 BundleContextImpl$1.run() line: 711 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] BundleContextImpl.startActivator(BundleActivator) line: 702 BundleContextImpl.start() line: 683 BundleHost.startWorker(int) line: 381 BundleHost(AbstractBundle).start(int) line: 299 SecureAction.start(Bundle, int) line: 440 BundleLoader.setLazyTrigger() line: 268 EclipseLazyStarter.postFindLocalClass(String, Class, ClasspathManager) line: 107 ClasspathManager.findLocalClass(String) line: 460 DefaultClassLoader.findLocalClass(String) line: 216 BundleLoader.findLocalClass(String) line: 400 SingleSourcePackage.loadClass(String) line: 35 BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 473 BundleLoader.findClass(String, boolean) line: 429 BundleLoader.findClass(String) line: 417 DefaultClassLoader.loadClass(String, boolean) line: 107 DefaultClassLoader(ClassLoader).loadClass(String) line: 248 ZusaetzlichePartnerSubmodulesAssembler.<clinit>() line: 40 NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available [native method] NativeConstructorAccessorImpl.newInstance(Object[]) line: 39 DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27 Constructor<T>.newInstance(Object...) line: 513 Class<T>.newInstance0() line: 355 Class<T>.newInstance() line: 308 EquinoxRegistryStrategy(RegistryStrategyOSGI).createExecutableExtension(RegistryContributor, String, String) line: 184 ExtensionRegistry.createExecutableExtension(RegistryContributor, String, String) line: 905 ConfigurationElement.createExecutableExtension(String) line: 243 ConfigurationElementHandle.createExecutableExtension(String) line: 55 InterfaceBeanHandler.invoke(Method, Object[], InterfaceBeanHandler$MethodKind) line: 186 InterfaceBeanHandler.invoke(Object, Method, Object[]) line: 82 $Proxy20.createNavigationAssembler() line: not available AssembliesConverter.convert(INavigationAssemblyExtension) line: 49 SwtExtensionWorkareaDefinitionRegistry.register(INavigationAssemblyExtension) line: 54 SwtExtensionWorkareaDefinitionRegistry.update(INavigationAssemblyExtension[]) line: 41 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 ExtensionInjector.update(Object) line: 350 ExtensionInjector.populateInterfaceBeans(boolean) line: 329 ExtensionInjector.andStart(BundleContext) line: 114 Activator.start(BundleContext) line: 50 BundleContextImpl$1.run() line: 711 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] BundleContextImpl.startActivator(BundleActivator) line: 702 BundleContextImpl.start() line: 683 BundleHost.startWorker(int) line: 381 BundleHost(AbstractBundle).start(int) line: 299 SecureAction.start(Bundle, int) line: 440 BundleLoader.setLazyTrigger() line: 268 EclipseLazyStarter.postFindLocalClass(String, Class, ClasspathManager) line: 107 ClasspathManager.findLocalClass(String) line: 460 DefaultClassLoader.findLocalClass(String) line: 216 BundleLoader.findLocalClass(String) line: 400 BundleLoader.findClassInternal(String, boolean, ClassLoader) line: 476 BundleLoader.findClass(String, boolean) line: 429 BundleLoader.findClass(String) line: 417 DefaultClassLoader.loadClass(String, boolean) line: 107 DefaultClassLoader(ClassLoader).loadClass(String) line: 248 BundleLoader.loadClass(String) line: 345 BundleHost.loadClass(String, boolean) line: 229 BundleHost(AbstractBundle).loadClass(String) line: 1207 EquinoxRegistryStrategy(RegistryStrategyOSGI).createExecutableExtension(RegistryContributor, String, String) line: 174 ExtensionRegistry.createExecutableExtension(RegistryContributor, String, String) line: 905 ConfigurationElement.createExecutableExtension(String) line: 243 ConfigurationElementHandle.createExecutableExtension(String) line: 55 EclipseAppHandle.run(Object) line: 191 EclipseAppLauncher.runApplication(Object) line: 110 EclipseAppLauncher.start(Object) line: 79 EclipseStarter.run(Object) line: 344 EclipseStarter.run(String[], Runnable) line: 179 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 Main.invokeFramework(String[], URL[]) line: 622 Main.basicRun(String[]) line: 577 Main.run(String[]) line: 1410 Main.main(String[]) line: 1386 Thread [OSGi Console] (Suspended) Thread.sleep(long) line: not available [native method] FrameworkConsole.runConsole() line: 125 FrameworkConsole.run() line: 104 Thread.run() line: 619 Thread [Framework Active Thread] (Suspended) waiting for: Framework (id=112) Object.wait(long) line: not available [native method] Framework.run() line: 1816 Thread.run() line: 619 Daemon Thread [Framework Event Dispatcher] (Suspended) owns: ArrayList<E> (id=232) owns: HashMap<K,V> (id=195) owns: ArrayList<E> (id=233) owns: WirePuller (id=234) waiting for: DefaultClassLoader (id=131) owned by: Thread [main] (Suspended) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) waiting for: DefaultClassLoader (id=131) owned by: Thread [main] (Suspended) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) waiting for: DefaultClassLoader (id=131) owned by: Thread [main] (Suspended) waiting for: HashMap<K,V> (id=195) owned by: Daemon Thread [Framework Event Dispatcher] (Suspended) ClientAgenturService.<init>(IAgenturService) line: 25 Activator.bind(IAgenturService) line: 93 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 FilterInjector(ServiceInjector).invoke(Method, Object) line: 448 FilterInjector(ServiceInjector).invokeBindMethod(ServiceReference) line: 412 FilterInjector.doBind(ServiceReference) line: 58 FilterInjector(ServiceInjector).handleEvent(ServiceEvent) line: 366 ServiceInjector$InjectorServiceListener.serviceChanged(ServiceEvent) line: 476 FilteredServiceListener.serviceChanged(ServiceEvent) line: 104 BundleContextImpl.dispatchEvent(Object, Object, int, Object) line: 861 EventManager.dispatchEvent(Set, EventDispatcher, int, Object) line: 230 ListenerQueue.dispatchEventSynchronous(int, Object) line: 148 ServiceRegistry.publishServiceEventPrivileged(ServiceEvent) line: 819 ServiceRegistry.publishServiceEvent(ServiceEvent) line: 771 ServiceRegistrationImpl.register(Dictionary) line: 130 ServiceRegistry.registerService(BundleContextImpl, String[], Object, Dictionary) line: 214 BundleContextImpl.registerService(String[], Object, Dictionary) line: 433 BundleContextImpl.registerService(String, Object, Dictionary) line: 451 RemoteServiceRegistry.registerService(IRemoteServiceReference, BundleContext) line: 79 RemoteServiceFactory.createAndRegisterProxy(RemoteServiceDescription, BundleContext) line: 167 RemoteServiceFactory.createAndRegisterProxy(Class<?>, String, String, BundleContext) line: 131 ProxyFactory.andStart(BundleContext) line: 68 Activator(BetriebsartAwareActivator).registerRemoteProxy(Class<?>, String) line: 174 Activator.createOnlineAgenturService(BundleContext) line: 94 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 Activator(BetriebsartAwareActivator).registerBetriebsartAbhaengigeServices(BundleContext, BetriebsartStatus) line: 123 Activator(BetriebsartAwareActivator).updateBetriebsartAbhaengigeServices(BetriebsartStatus) line: 94 Activator(BetriebsartAwareActivator).updateBetriebsartAbhaengigeServices() line: 89 Activator(BetriebsartAwareActivator).bind(IStatusRegistry) line: 207 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 FilterInjector(ServiceInjector).invoke(Method, Object) line: 448 FilterInjector(ServiceInjector).invokeBindMethod(ServiceReference) line: 412 FilterInjector.doBind(ServiceReference) line: 58 FilterInjector.doStart() line: 34 FilterInjector(ServiceInjector).andStart(BundleContext) line: 133 WirePuller.injectServiceInto(Object, Method) line: 188 WirePuller.injectIntoAnnotatedMethods(Object, Class<?>) line: 145 WirePuller.wire(Class<?>) line: 137 WirePuller.wire(Class<?>) line: 132 WirePuller.andStart(BundleContext) line: 96 Activator(BetriebsartAwareActivator).start(BundleContext) line: 67 Activator.start(BundleContext) line: 37 BundleContextImpl$1.run() line: 711 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] BundleContextImpl.startActivator(BundleActivator) line: 702 BundleContextImpl.start() line: 683 BundleHost.startWorker(int) line: 381 BundleHost(AbstractBundle).start(int) line: 299 BundleHost(AbstractBundle).start() line: 291 StartupsSafeRunnable.handleSelfActivation(IRienaStartupExtension) line: 101 StartupsSafeRunnable.run() line: 87 SafeRunner.run(ISafeRunnable) line: 42 Activator$StartupBundleListener.bundleChanged(BundleEvent) line: 126 BundleContextImpl.dispatchEvent(Object, Object, int, Object) line: 847 EventManager.dispatchEvent(Set, EventDispatcher, int, Object) line: 230 EventManager$EventThread.run() line: 340 Daemon Thread [Start Level Event Dispatcher] (Suspended) waiting for: EventManager$EventThread (id=23) Object.wait(long) line: not available [native method] EventManager$EventThread(Object).wait() line: 485 EventManager$EventThread.getNextEvent() line: 400 EventManager$EventThread.run() line: 336 Thread [Worker-JM] (Suspended) waiting for: ArrayList<E> (id=248) Object.wait(long) line: not available [native method] InternalWorker.run() line: 58 Daemon Thread [DeferredLoggingForwarder] (Suspended) Unsafe.park(boolean, long) line: not available [native method] LockSupport.park(Object) line: 158 AbstractQueuedSynchronizer$ConditionObject.await() line: 1925 LinkedBlockingQueue<E>.take() line: 399 DeferredLoggingForwarder.run() line: 47 Daemon Thread [WeakRef remover] (Suspended) waiting for: ReferenceQueue$Lock (id=249) Object.wait(long) line: not available [native method] ReferenceQueue<T>.remove(long) line: 118 ReferenceQueue<T>.remove() line: 134 WeakRef$Remover.run() line: 91 It seems that locking (synchronized blocks) the registerServices field within the RemoteServiceRegistry is involved with this issue.
The synchronized blocks have been removed and the registeredServices map is wrapped with Collections.synchronizedMap().