Bundle resolution causes CNFE for java.lang.System
--------------------------------------------------
Key: FELIX-2618
URL: https://issues.apache.org/jira/browse/FELIX-2618
Project: Felix
Issue Type: Bug
Components: Framework
Affects Versions: framework-3.0.2
Environment: Fedora 11 Linux x86_64 Java 1.6.0_13-b03 Felix Framework
3.0.2
Reporter: John Dunlap
Priority: Minor
If I attempt to import the package org.apache.felix.shell in my bundle manifest
I get the following error,
ERROR: Error starting
file:/home/jddunlap/apache-felix/felix-framework-3.0.2/bundle/dictionary-service-1.0-SNAPSHOT.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle [1]:
Unable to resolve 1.0: missing requirement [1.0] package;
(package=org.osgi.framework.shell))
org.osgi.framework.BundleException: Unresolved constraint in bundle [1]: Unable
to resolve 1.0: missing requirement [1.0] package;
(package=org.osgi.framework.shell)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1709)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1143)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Thread.java:619)
bundle://5.0:1/gosh_profile:15.20: ClassNotFoundException: java.lang.System
java.lang.ClassNotFoundException: java.lang.System
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1591)
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:887)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:465)
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:335)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
at org.apache.felix.gogo.runtime.Closure.eval(Closure.java:265)
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:307)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:78)
at org.apache.felix.gogo.shell.Shell.source(Shell.java:186)
at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.gogo.runtime.Reflective.method(Reflective.java:136)
at
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:421)
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:335)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:184)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:121)
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:78)
at org.apache.felix.gogo.shell.Activator.run(Activator.java:72)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle
[1]: Unable to resolve 1.0: missing requirement [1.0] package;
(package=org.osgi.framework.shell)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1584)
... 33 more
The problem appears to be in the manifest. If I remove
"org.apache.felix.shell" from the Import-Package manifest entry, the
error goes away. If I put it back the error returns. For example,
changing this,
"Import-Package: org.osgi.framework,org.apache.felix.shell"
to this,
"Import-Package: org.osgi.framework"
makes the error go away. It does not seem to matter if I implement
service interfaces from that package. The import itself appears to
trigger the error.
Issue created as requested by Richard S. Hall
Cheers!
-John
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.