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

Reply via email to