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)