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

Richard Eckart de Castilho commented on FELIX-5648:
---------------------------------------------------

Curiosity: are there "fatal" resolver errors which would inevitably lead to a 
resolution failure and if so, can they be identified and can the 
`findValidCandidate` loop be aborted in such cases. E.g. I am hitting one error 
here with is a "UseConstraintError" indicating that a particular package is 
reachable through two dependency chains and the resolver does not like that. It 
would seem to me that irrespective of the permutations, this is always the 
case. So it seems in my build, the resolver just runs for a very long time 
before eventually running out of memory (even if I give Maven a 20gb heap 
size). Would this be a case that could be aborted early without having to check 
all the permutations?

> ResolverImpl infinite loop
> --------------------------
>
>                 Key: FELIX-5648
>                 URL: https://issues.apache.org/jira/browse/FELIX-5648
>             Project: Felix
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: framework-5.4.0, framework-5.6.0, framework-5.6.4, 
> resolver-1.14.0
>         Environment: java 1.8
> win10
> bndtools 3.4.0
>            Reporter: Stefan Bischof
>            Priority: Blocker
>
> If i run the following bundles felix did not start properly.. cpu went up. 
> nothing happened.
> equinox can handle it
> JaxpXercesXalanBatic.bndrun:
> -runbundles: \
>     my.sandbox.batikonly;version=snapshot,\
>     org.apache.felix.scr;version='[2.0.6,2.0.7)',\
>     org.apache.felix.configadmin;version='[1.8.12,1.8.13)',\
>     org.apache.felix.gogo.command;version='[0.16.0,0.16.1)',\
>     org.apache.felix.gogo.runtime;version='[0.16.2,0.16.3)',\
>     org.apache.felix.metatype;version='[1.1.2,1.1.3)',\
>     org.apache.servicemix.bundles.batik;version='[1.9.0,1.9.1)',\
>     org.apache.servicemix.bundles.bcel;version='[5.2.0,5.2.1)',\
>     org.apache.servicemix.bundles.xalan;version='[2.7.2,2.7.3)',\
>     org.apache.servicemix.bundles.xerces;version='[2.11.0,2.11.1)',\
>     org.apache.servicemix.bundles.xmlresolver;version='[1.2.0,1.2.1)',\
>     org.apache.servicemix.specs.jaxp-api-1.4;version='[2.7.0,2.7.1)'
> if i remove
> org.apache.servicemix.bundles.batik;version='[1.9.0,1.9.1)',\
> it will work.
> I debugged the bnd launcher
> Launcher asks the deprecated PackageAdmin
> // Get the resolved status
> if (padmin != null && padmin.resolveBundles(null) == false) {
> From here it is felix
> there is a loop at:
> ResolverImpl.resolve(ResolveContext, Executor) line: 347    
> ResolverImpl.resolve(ResolveContext) line: 158    
> StatefulResolver.resolve(Set<BundleRevision>, Set<BundleRevision>) line: 431  
>   
> Felix.resolveBundles(Collection<Bundle>) line: 4070    
> FrameworkWiringImpl.resolveBundles(Collection<Bundle>) line: 133    
> PackageAdminImpl.resolveBundles(Bundle[]) line: 263    
> Launcher.update(long) line: 472    
> Launcher.activate() line: 400    
> Launcher.run(String[]) line: 283    
> Launcher.main(String[]) line: 138    
> https://github.com/JohneDoe/Jasperreport-Osgi/tree/master/my.sandbox.batikonly
> https://groups.google.com/forum/#!topic/bndtools-users/CoTHIy5ONgQ



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to