Yes, this is a known issue. Other than using a timeout value so we can
fail if it starts to take a long time, there isn't much else that can be
done using the current algorithm.
In cases where there are many combinations of providers where some lead
to constraint violations, then the resolver can take a long time because
it is exhaustive.
We really need a better algorithm. I actually have a colleague who is
willing to look into the resolver algorithm, I just need to find the
time to sit down and discuss it with him.
-> richard
On 5/5/09 2:49 PM, Kristian Köhler wrote:
Hi
i "missconfigured" my application and encountered a strange behaviour
of the Felix resolver logic. I'm not sure if it is an endless lopp,
but it seems to be one...
I installed (via fileinstall) two different versions of some spring
bundles. One of the pair is the normal one, the other comes from the
springsource repo (version 2.5.6 and 2.5.6.A - the second is the one
from the springsource repo -
http://www.springsource.com/repository/app/).
Here is the list of the bundles:
* com.springsource.org.aopalliance-1.0.0.jar
* com.springsource.org.apache.commons.codec-1.3.0.jar
* com.springsource.org.apache.commons.collections-3.2.1.jar
* com.springsource.org.apache.commons.logging-1.1.1.jar
* org.springframework.aop-2.5.6.A.jar
* org.springframework.beans-2.5.6.A.jar
* org.springframework.context-2.5.6.A.jar
* org.springframework.core-2.5.6.A.jar
* spring-aop-2.5.6.jar
* spring-beans-2.5.6.jar
* spring-context-2.5.6.jar
* spring-core-2.5.6.jar
* spring-orm-2.5.6.jar
* spring-security-core-2.0.4.jar
* spring-tx-2.5.6.jar
Starting felix results a lot of DEBUG messaages with information about
a constraint violation and it seems to be an endless loop...
--- 8< ---
...
DEBUG: Constraint violation for 6.0 detected; module can see
org.springframework.core from [5.0] and org.springframework.core from
[19.0]
DEBUG: Constraint violation for 6.0 detected; module can see
org.springframework.core from [5.0] and org.springframework.core from
[19.0]
DEBUG: Constraint violation for 6.0 detected; module can see
org.springframework.core from [5.0] and org.springframework.core from
[19.0]
DEBUG: Constraint violation for 6.0 detected; module can see
org.springframework.core from [5.0] and org.springframework.core from ...
--- 8< ---
I "fixed" my issue by removing the second bundle but IMHO this should
not happen or "break" earlier.. ;-)
Should I open an issue for that?
Kristian
--
http://www.kkoehler.com