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