[ 
https://issues.apache.org/jira/browse/FELIX-961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677425#action_12677425
 ] 

Richard S. Hall commented on FELIX-961:
---------------------------------------

As a side note, from my understanding of how Equinox works, if it detects a 
resolve is taking too long, it just takes the best result it has so far and 
excludes any bundles that could not resolve and resolves the rest. This 
approach may make sense for Equinox because it resolves all unresolved bundles 
every time it resolves any, but Felix' resolver is incremental, meaning it only 
resolves the bundles it needs to resolve.

Thus, in Felix if you resolve bundle foo, only bundles related to foo through 
dependencies will be resolved. There are no other byproducts. If foo fails to 
resolve, then there is no change to the resolved state. This is not true for 
Equinox. However, we could potentially modify Felix' resolver to simply fail if 
it starts to take too long, rather than run until it finds a solution or fails 
(which could take a long time).

Keep in mind that Equinox' "best effort" approach is just a way to end a long 
resolve, it doesn't necessarily result in a solution for a particular bundle, 
it just results in whatever it could accomplish, which may or may not include 
the bundle you wanted to resolve.

> 100% CPU looping inside uses calculation
> ----------------------------------------
>
>                 Key: FELIX-961
>                 URL: https://issues.apache.org/jira/browse/FELIX-961
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.1
>            Reporter: Stuart McCulloch
>            Assignee: Richard S. Hall
>         Attachments: USES_TESTCASE.zip, USES_TESTCASE2.zip
>
>
> While investigating a problem report against pax-runner 
> (http://article.gmane.org/gmane.comp.java.ops4j.general/6778) I found it was 
> actually caused by a 100% CPU loop inside the "uses" calculation code. In 
> Felix 1.4.1 this was stopping the shell bundle from activating, hence the 
> lack of console. Using the trunk build I can get a console, but the looping 
> still occurs with the testcase.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to