[
https://issues.apache.org/jira/browse/FELIX-5648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16531428#comment-16531428
]
Karl Pauls commented on FELIX-5648:
-----------------------------------
I looked into this issue a little bit and it is clear that the difference
between equinox and felix is caused by equinox exporting org.w3c.dom.traversal
by default. I think we should do the same and created FELIX-5877 for it. On
java>=9 we already do anyways as it is detected automatically. With my fix for
FELIX-5877 (or on java > 8 with the current framework 5.9.0-SNAPSHOT) it
already works.
I think we should keep this issue open as we are clearly running into a
situation where the resolver breaks down. The issue seems to be that it has a
lot of candidates to go through because the one bundle competes with the
framework for a lot of exports. Unfortunately, it is the worst case where in
the end, it can't find a resolution - hence, it has to go through all
permutations which takes a long time.
> ResolverImpl infinite loop
> --------------------------
>
> Key: FELIX-5648
> URL: https://issues.apache.org/jira/browse/FELIX-5648
> Project: Felix
> Issue Type: Bug
> Components: Framework, 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
(v7.6.3#76005)