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