[ https://issues.apache.org/jira/browse/FELIX-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793645#action_12793645 ]
hehe ji commented on FELIX-1792: -------------------------------- Hi Richard, Thanks for the patch. I tried it but I got deadlock problem for the following situation: Bundle71 (in repo) : Depends on Bundle72 Bundle72 v1 (in repo) : depends on bundle73 Bundle72_2 v2 (in eba) : Depends on Bundle.invalid // This should not be picked up Bundle73 (in eba) : No Dependencies I expect bundle71, bundle71 v1 and bundle73 are installed in framework. 3XMTHREADINFO "Thread-129" TID:0x000000000238A400, j9thread_t:0x000004000ABA1920, state:CW, prio=5 3XMTHREADINFO1 (native thread ID:0x6BF9, native priority:0x5, native policy:UNKNOWN) 3XMTHREADINFO2 (native stack address range from:0x000004000B580000, to:0x000004000B540000, size:0x40000) 4XESTACKTRACE at java/lang/Character.toLowerCase(Character.java:4187(Compiled Code)) 4XESTACKTRACE at java/lang/String.compareValue(String.java:450(Compiled Code)) 4XESTACKTRACE at java/lang/String.compareToIgnoreCase(String.java:466(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResourceImpl$1.compare(ResourceImpl.java:55(Compiled Code)) 4XESTACKTRACE at java/util/TreeMap.cmp(TreeMap.java:4472(Compiled Code)) 4XESTACKTRACE at java/util/TreeMap.get(TreeMap.java:4344(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResourceImpl.getSymbolicName(ResourceImpl.java:107(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResourceImpl.hashCode(ResourceImpl.java:84(Compiled Code)) 4XESTACKTRACE at java/util/HashMap.getEntry(HashMap.java:506(Compiled Code)) 4XESTACKTRACE at java/util/HashMap.containsKey(HashMap.java:432(Compiled Code)) 4XESTACKTRACE at java/util/HashSet.contains(HashSet.java:138(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResolverImpl.resolve(ResolverImpl.java:158(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResolverImpl.resolve(ResolverImpl.java:199(Compiled Code)) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResolverImpl.resolve(ResolverImpl.java:199) 4XESTACKTRACE at org/apache/felix/bundlerepository/ResolverImpl.resolve(ResolverImpl.java:133) Please let me know if you need more information. Thanks Emily > Felix OBR seems to just randomly choose one of the satisifed bundles if more > than one bundle meets the requirement > ------------------------------------------------------------------------------------------------------------------ > > Key: FELIX-1792 > URL: https://issues.apache.org/jira/browse/FELIX-1792 > Project: Felix > Issue Type: Bug > Components: Bundle Repository (OBR) > Affects Versions: bundlerepository-1.4.2 > Environment: n/a > Reporter: david small99 > Assignee: Richard S. Hall > Fix For: bundlerepository-1.6.0 > > > I have one bundle bundle1, which imports a package called com.obr.bundle > Bundle1's manifest: > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle1 > Bundle-Version: 1.0.0 > Export-Package: com.obr.bundle1 > Import-Package: com.obr.bundle;version="[1.2.0.999,3.2.2.bz]" > There are two bundles in my repositories, bundler2 and bundle 3. Both of them > export package com.obr.bundle. Below are their manifest files. > Bundle2 > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle2 > Bundle-Version: 1.0.0 > Bundle-Vendor: xxx > Import-Package: a.b.c > Export-Package: com.obr.bundle;version=3.2.2.blah > Bundle3: > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle3 > Bundle-Version: 1.0.0 > Import-Package: a.b.c > Export-Package: com.obr.bundle;version=3.1 > As you can see, both bundle2 and bundle3 meet the requirements of bundle1. I > hope the highest package version, which is bundle2, is chosen by felix obr. > However, sometimes bundle 3 was chosen instead of bundle2. The behaviour is > random. > Am I right to say that the Felix obr runtime just picks the first bundle that > meets the requirements and then stop searching for any more eligible bundles? > Thanks -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.