Alexandre Roman created FELIX-5170:
--------------------------------------

             Summary: Missing toString in FelixRequirementAdapter makes missing 
dep error impossible to solve
                 Key: FELIX-5170
                 URL: https://issues.apache.org/jira/browse/FELIX-5170
             Project: Felix
          Issue Type: Bug
          Components: Bundle Repository (OBR)
    Affects Versions: bundlerepository-2.0.6
            Reporter: Alexandre Roman


While using OBR, a missing dependency will raise this error in logs:

org.osgi.service.subsystem.SubsystemException: 
org.osgi.service.resolver.ResolutionException: Unable to resolve 
XXX;osgi.bundle: missing requirement 
org.apache.felix.bundlerepository.impl.FelixRequirementAdapter@ee869b56 [caused 
by: Unable to resolve XXX;osgi.bundle: missing requirement 
org.apache.felix.bundlerepository.impl.FelixRequirementAdapter@863065e7]
        at 
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
 ~[na:na]
        at java.security.AccessController.doPrivileged(Native Method) 
~[na:1.8.0_66]
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
 ~[na:na]
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
 ~[na:na]
        ...
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.8.0_66]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[na:1.8.0_66]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_66]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66]
        at 
org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) 
[2.0.2:na]
        at 
org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) 
[2.0.2:na]
        at 
org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) 
[2.0.2:na]
        at 
org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295) 
[2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:302)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:113)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:866)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:833)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:724)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:399)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:676)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339)
 [2.0.2:na]
        at 
org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:360) 
[2.0.2:na]
        at org.apache.felix.scr.impl.Activator.access$000(Activator.java:53) 
[2.0.2:na]
        at 
org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:260) 
[2.0.2:na]
        at 
org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
 [2.0.2:na]
        at 
org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
 [2.0.2:na]
        at 
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) 
[org.apache.felix.framework-5.4.0.jar:na]
        at 
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)
 [org.apache.felix.framework-5.4.0.jar:na]
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541) 
[org.apache.felix.framework-5.4.0.jar:na]
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2172) 
[org.apache.felix.framework-5.4.0.jar:na]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) 
[org.apache.felix.framework-5.4.0.jar:na]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) 
[org.apache.felix.framework-5.4.0.jar:na]
        ...
        at 
org.apache.felix.framework.util.EventDispatcher.invokeFrameworkListenerCallback(EventDispatcher.java:882)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:831)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:1148) 
[org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:55)
 [org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:103) 
[org.apache.felix.framework-5.4.0.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]
Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve 
XXX;osgi.bundle: missing requirement 
org.apache.felix.bundlerepository.impl.FelixRequirementAdapter@ee869b56 [caused 
by: Unable to resolve XXX;osgi.bundle: missing requirement 
org.apache.felix.bundlerepository.impl.FelixRequirementAdapter@863065e7]
        at 
org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42) 
~[org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235) 
~[org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158) 
~[org.apache.felix.framework-5.4.0.jar:na]
        at 
org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
 ~[na:na]
        ... 56 common frames omitted

The missing dependency is unknown, because FelixRequirementAdapter does not 
provide a toString method.
This class should provide such a method, delegating to the real Requirement 
instance (which already provide a toString method).

Same thing with FelixCapabilityAdapter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to