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

Reply via email to