Thanks for the update Gavin, it's really helpful.
Now that I have released Cellar 2.2.5, I'm switching back to Karaf, including this issue.
Regards JB On 11/30/2012 02:40 AM, gavin_scott wrote:
Is there a jira ticket for this? I think I'm seeing the same issue although the circumstances are different. I am not using ipojo. I have an application that uses openjpa and the karaf jpa and jndi features. I've been trying to upgrade to karaf 2.3.0 and my pax exam tests are deadlocking. Partial thread dump is pasted at the end of this mail, I can paste the full thing into a jira ticket. Implementing the workaround that Bengt Rodehav describes (creating my own jpa and jndi features that do not contain aries.util) seems to fix the problem. -- Gavin Scott [email protected] "FelixFrameworkWiring" daemon prio=6 tid=0x000000000c263000 nid=0x1860 waiting for monitor entry [0x0000000010b9d000] java.lang.Thread.State: BLOCKED (on object monitor) at jline.internal.NonBlockingInputStream.shutdown(NonBlockingInputStream.java:75) - waiting to lock <0x00000000a24e07a0> (a jline.internal.NonBlockingInputStream) at jline.console.ConsoleReader.shutdown(ConsoleReader.java:281) at org.apache.karaf.shell.console.jline.Console.close(Console.java:149) at org.apache.karaf.shell.console.jline.ConsoleFactory.stop(ConsoleFactory.java:196) at org.apache.karaf.shell.console.jline.ConsoleFactory.unregisterCommandProcessor(ConsoleFactory.java:70) - locked <0x00000000a25159d0> (a org.apache.karaf.shell.console.jline.ConsoleFactory) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:526) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.unbind(AbstractServiceReferenceRecipe.java:512) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.unbind(AbstractServiceReferenceRecipe.java:415) at org.apache.aries.blueprint.container.ReferenceRecipe.unbind(ReferenceRecipe.java:181) - locked <0x00000000a21cd0f8> (a java.lang.Object) at org.apache.aries.blueprint.container.ReferenceRecipe.doStop(ReferenceRecipe.java:122) - locked <0x00000000a21cd0f8> (a java.lang.Object) at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.stop(AbstractServiceReferenceRecipe.java:153) - locked <0x00000000a21ccf00> (a java.util.ArrayList) at org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReference(BlueprintContainerImpl.java:594) at org.apache.aries.blueprint.container.BlueprintContainerImpl.untrackServiceReferences(BlueprintContainerImpl.java:574) at org.apache.aries.blueprint.container.BlueprintContainerImpl.tidyupComponents(BlueprintContainerImpl.java:888) at org.apache.aries.blueprint.container.BlueprintContainerImpl.namespaceHandlerUnregistered(BlueprintContainerImpl.java:876) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.unregisterHandler(NamespaceHandlerRegistryImpl.java:582) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.unregisterHandler(NamespaceHandlerRegistryImpl.java:173) at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.removedService(NamespaceHandlerRegistryImpl.java:144) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1) at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341) at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:902) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260) at org.apache.felix.framework.Felix.access$000(Felix.java:74) at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:390) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:148) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127) at org.apache.aries.util.AriesFrameworkUtil.safeUnregisterService(AriesFrameworkUtil.java:114) at org.apache.aries.blueprint.container.ServiceRecipe.unregister(ServiceRecipe.java:207) at org.apache.aries.blueprint.container.BlueprintContainerImpl.unregisterServices(BlueprintContainerImpl.java:679) at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:821) at org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:246) at org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:238) at org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:434) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:198) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:128) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:468) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:161) at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:117) at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103) at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4244) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2351) at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4629) at org.apache.felix.framework.Felix.refreshPackages(Felix.java:3951) at org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:172) at java.lang.Thread.run(Thread.java:722) "Karaf Shell Console Thread" daemon prio=6 tid=0x000000000c260000 nid=0x19f0 waiting on condition [0x000000001064e000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000a21df700> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374) at org.apache.karaf.shell.console.jline.Console$ConsoleInputStream.read(Console.java:386) at org.apache.karaf.shell.console.jline.Console$ConsoleInputStream.read(Console.java:403) at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:169) - locked <0x00000000a24e07a0> (a jline.internal.NonBlockingInputStream) at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:137) at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:246) at jline.internal.InputStreamReader.read(InputStreamReader.java:259) - locked <0x00000000a24e07a0> (a jline.internal.NonBlockingInputStream) at jline.internal.InputStreamReader.read(InputStreamReader.java:196) - locked <0x00000000a24e07a0> (a jline.internal.NonBlockingInputStream) at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:1974) at jline.console.ConsoleReader.readLine(ConsoleReader.java:2174) at jline.console.ConsoleReader.readLine(ConsoleReader.java:2098) at org.apache.karaf.shell.console.jline.Console.readAndParseCommand(Console.java:235) at org.apache.karaf.shell.console.jline.Console.run(Console.java:171) at java.lang.Thread.run(Thread.java:722) -- View this message in context: http://karaf.922171.n3.nabble.com/Problems-with-ipojo-in-Karaf-2-3-0-tp4026688p4026952.html Sent from the Karaf - User mailing list archive at Nabble.com.
-- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
