OBR fails to deploy a bundle depending on an older version of an updated bundle
-------------------------------------------------------------------------------
Key: FELIX-3446
URL: https://issues.apache.org/jira/browse/FELIX-3446
Project: Felix
Issue Type: Bug
Components: Bundle Repository (OBR)
Affects Versions: bundlerepository-1.6.6
Environment: Ubuntu 10.04 64bit (2.6.32-40-generic x86_64 GNU/Linux)
Felix Framework
Others (apart from the test ones) active bundles:
> System Bundle (4.0.2)
> Apache Felix Bundle Repository (1.6.6)
> Apache Felix Gogo Command (0.12.0)
> Apache Felix Gogo Runtime (0.10.0)
> Apache Felix Gogo Shell (0.10.0)
Reporter: Matías San Martín
Given the test bundles
* SymbolicName: Primerbundle | Bundle-Version: 1.0.0.1 | exports:
(test.osgi.primerbundle;version="1.0.0")
* SymbolicName: Primerbundle | Bundle-Version: 1.0.0.2| exports:
(test.osgi.primerbundle;version="1.0.0")
* SymbolicName: Dependiente | Bundle-Version: 1| depends:
(test.osgi.primerbundle;version="1.0.0" )
* SymbolicName: Dependiente_Especifico | Bundle-Version: 1| depends:
(test.osgi.primerbundle;bundle-version="[1.0.0.2,1.0.0.2]")
Steps to reproduce the error:
1- Install a repository file with the bundles just mentioned
2- deploy -s Dependiente
==> this also deploys Primerbundle version 1.0.0.2
3- deploy -s [email protected]
==> this __updates__ the previously deployed Primerbundle (version 1.0.0.2)
4- refresh
==> so [email protected] is completely uninstalled from the framework
5- deploy -s DexA
==> this deployment __fails__
The step 5 prints the following exception:
Target resource(s):
-------------------
Dependiente_Especifico (1.0.0)
Deploying...
ERROR: Resolver: Start error - Dependiente_Especifico
org.osgi.framework.BundleException: Unresolved constraint in bundle
Dependiente_Especifico [416]: Unable to resolve 416.0: missing requirement
[416.0] osgi.wiring.bundle;
(&(osgi.wiring.bundle=test.osgi.primerbundle)(bundle-version>=1.0.0.2)(bundle-version<=1.0.0.2))
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931)
at
org.apache.felix.bundlerepository.impl.ResolverImpl.deploy(ResolverImpl.java:630)
at org.apache.felix.gogo.command.OBR.deploy(OBR.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
at
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at
org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.felix.gogo.shell.Console.run(Console.java:62)
at org.apache.felix.gogo.shell.Shell.console(Shell.java:203)
at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137)
at
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at
org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.felix.gogo.shell.Activator.run(Activator.java:75)
at java.lang.Thread.run(Thread.java:636)
done.
-------------------------------------------
Additional note:
If instead of step 5, we execute
deploy -s [email protected]
The OBR says it deployed successfully the bundle but it has not,
[email protected] remains deployed
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira