felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (FELIX-3369) Deadlock on org.apache.felix.framework.BundleWiringImpl
Date Thu, 31 Jan 2013 18:19:14 GMT

     [ https://issues.apache.org/jira/browse/FELIX-3369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Richard S. Hall resolved FELIX-3369.
------------------------------------

       Resolution: Duplicate
    Fix Version/s:     (was: framework-4.2.0)
         Assignee: Richard S. Hall

I am going to resolve this as a duplicate of FELIX-3553 since I believe this deadlock is related
to parallel class loading. Since I've applied a patch to support parallel class loaders in
Java 7, I am hoping this is fixed on Java 7. If not, please reopen this issue.
                
> Deadlock on org.apache.felix.framework.BundleWiringImpl
> -------------------------------------------------------
>
>                 Key: FELIX-3369
>                 URL: https://issues.apache.org/jira/browse/FELIX-3369
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>         Environment: JDK 1.6.0_29 on OSX
>            Reporter: Carlos Quiroz
>            Assignee: Richard S. Hall
>
> After upgrading to Felix 4.0.2 from 3.2.1 one of our legacy bundles started failing to
start
> After inspection I found a deadlock on org.apache.felix.framework.BundleWiringImpl
> A downgrade to Felix 4.0.1 fixes this problem so I assume the problem started in 4.0.2
> Found one Java-level deadlock:
> =============================
> "task":
>   waiting to lock monitor 103072f18 (object 7f4615700, a org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5),
>   which is held by "FelixStartLevel"
> "FelixStartLevel":
>   waiting to lock monitor 1030287e0 (object 7f625f8a8, a org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5),
>   which is held by "task"
> Java stack information for the threads listed above:
> ===================================================
> "task":
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1836)
> 	- waiting to lock <7f4615700> (a org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> 	at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
> 	at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1558)
> 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1439)
> 	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:247)
> 	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:357)
> 	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:163)
> 	at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
> 	at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
> 	at net.jini.loader.ClassLoading.loadClass(ClassLoading.java:138)
> 	at net.jini.io.MarshalInputStream.resolveClass(MarshalInputStream.java:296)
> 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
> 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at net.jini.io.MarshalledInstance.get(MarshalledInstance.java:358)
> 	at net.jini.io.MarshalledInstance.get(MarshalledInstance.java:287)
> 	at com.sun.jini.proxy.MarshalledWrapper.get(MarshalledWrapper.java:127)
> 	at com.sun.jini.reggie.Item.get(Item.java:155)
> 	at com.sun.jini.reggie.Item.toServiceItem(Item.java:191)
> 	at com.sun.jini.reggie.Matches.get(Matches.java:76)
> 	at com.sun.jini.reggie.RegistrarProxy.lookup(RegistrarProxy.java:138)
> 	at net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$LookupTask.run(ServiceDiscoveryManager.java:929)
> 	at net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$RegisterListenerTask.run(ServiceDiscoveryManager.java:901)
> 	at com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:331)
> "FelixStartLevel":
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1836)
> 	- waiting to lock <7f625f8a8> (a org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> 	at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
> 	at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1481)
> 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
> 	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> 	at edu.gemini.pot.spdb.osgi.Activator.start(Activator.java:73)
> 	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:641)
> 	at org.apache.felix.framework.Felix.activateBundle(Felix.java:1977)
> 	at org.apache.felix.framework.Felix.startBundle(Felix.java:1895)
> 	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
> 	at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
> 	at java.lang.Thread.run(Thread.java:680)

--
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

Mime
View raw message