Hi All,
I am new to java and OSGI. I am trying to start felix with security enabled,
so that i can only allow signed bundles to be installed and run in the OSGI
framework. I hit the following error(See attached). It seems like the
framework cannot find the class at runtime. I looked up the felix framework
source code and i find that the class has caused the error is present in the
framework jar file.
Here is the configuration that i am running
JamVM version - 1.5.4
GNU Classpath - 0.9.8 (slightly modified to add missing methods from apache
harmony)
Felix - trunk(latest). I have also tried the stable release jar
files(3.0.7). I get the same issue
POLICY:
grant {
permission java.security.AllPermission;
}
grant codeBase "http://felix.extensions:9/" {
permission java.security.AllPermission;
};
COMMAND:
/usr/local/jamvm/bin/jamvm -Xmx256M
-Djava.library.path=/home/samba/wurk/downloads/osgi/felix/main/bundle
-Dorg.osgi.framework.security="osgi"
-Dpolicy.provider=gnu.java.security.PolicyFile
-Djava.security.policy=file:///home/samba/wurk/downloads/osgi/felix/main/conf/java.policy
-jar target/org.apache.felix.main-3.1.0-
SNAPSHOT.jar
Can anyone give me a clue how i can debug this problem ?
Thanks in advance for the help
regards,
Samba
Read logging propreties from file:///home/samba/wurk/downloads/osgi/classpath-0.98/install/lib/logging.properties
Default Policy user file /root/.java.policy
Default Policy file /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/security/java.policy
Parsing configuration file file:/home/samba/wurk/downloads/osgi/felix/main/conf/java.policy
Building policy from URLs {(http://felix.extensions:9/ <no certificates>)=java.security.permissi...@a7f98b80 (
(java.security.AllPermission *)
)
, (null <no certificates>)=java.security.permissi...@a7f98018 (
(java.security.AllPermission *)
)
}
ServiceTracker.open: (objectClass=org.osgi.service.url.URLStreamHandlerService)
In AbstractTracked.trackInitial
AbstractTracked.trackInitial No initial items
ServiceTracker.open: (objectClass=java.net.ContentHandler)
In AbstractTracked.trackInitial
AbstractTracked.trackInitial No initial items
Starting Felix Security Activator ...
Start Permission Admin service ... ./felix-cache/bundle0/security/pa.txt
Start Conditional Permission Admin service ...
Setting key stores and trust repositories ...
Loading codeSigners method
Auto-deploy install: org.osgi.framework.BundleException: Could not create bundle object. - java.lang.NoClassDefFoundError: org/apache/felix/framework/security/util/BundleInputStream
Auto-deploy install: org.osgi.framework.BundleException: Could not create bundle object. - java.lang.NoClassDefFoundError: org/apache/felix/framework/security/util/BundleInputStream
Auto-deploy install: org.osgi.framework.BundleException: Could not create bundle object. - java.lang.NoClassDefFoundError: org/apache/felix/framework/security/util/BundleInputStream
ERROR: Error starting file:/home/samba/wurk/downloads/osgi/felix/main/bundle/org.apache.felix.bundlerepository-1.6.5-SNAPSHOT.jar (java.lang.NoClassDefFoundError: org/apache/felix/framework/security/util/Permissions$Entry)
java.lang.NoClassDefFoundError: org/apache/felix/framework/security/util/Permissions$Entry
at org.apache.felix.framework.security.util.Permissions.cleanUp(Permissions.java:262)
at org.apache.felix.framework.security.util.Permissions.getPermissions(Permissions.java:120)
at org.apache.felix.framework.security.util.LocalPermissions.implies(LocalPermissions.java:136)
at org.apache.felix.framework.security.condpermadmin.ConditionalPermissionAdminImpl.impliesLocal(ConditionalPermissionAdminImpl.java:1020)
at org.apache.felix.framework.security.permissionadmin.PermissionAdminImpl.hasPermission(PermissionAdminImpl.java:150)
at org.apache.felix.framework.SecurityProviderImpl.hasBundlePermission(SecurityProviderImpl.java:100)
at org.apache.felix.framework.Felix.impliesBundlePermission(Felix.java:3630)
at org.apache.felix.framework.BundleProtectionDomain.impliesDirect(BundleProtectionDomain.java:73)
at org.apache.felix.framework.FelixResolverState.getCandidates(FelixResolverState.java:729)
at org.apache.felix.framework.resolver.ResolverImpl.populateCandidates(ResolverImpl.java:403)
at org.apache.felix.framework.resolver.ResolverImpl.resolve(ResolverImpl.java:72)
at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:3996)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3402)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1719)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1148)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StackOverflowError
at java.lang.String.indexOf(String.java:1251)
at java.lang.String.indexOf(String.java:1231)
at java.net.SocketPermission.setHostPort(SocketPermission.java:264)
at java.net.SocketPermission.<init>(SocketPermission.java:178)
at java.security.CodeSource.implies(CodeSource.java:235)
at gnu.java.security.PolicyFile.getPermissions(PolicyFile.java:186)
at java.security.Policy.getPermissions(Policy.java:245)
at java.security.Policy.implies(Policy.java:288)
at java.security.ProtectionDomain.implies(ProtectionDomain.java:204)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:179)
at java.security.AccessController.checkPermission(AccessController.java:76)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:368)
at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:556)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:675)
at java.net.InetAddress.getAllByName(InetAddress.java:587)
at java.net.SocketPermission.getAddresses(SocketPermission.java:474)
at java.net.SocketPermission.implies(SocketPermission.java:579)
at java.security.CodeSource.implies(CodeSource.java:238)
at gnu.java.security.PolicyFile.getPermissions(PolicyFile.java:186)
at java.security.Policy.getPermissions(Policy.java:245)
at java.security.Policy.implies(Policy.java:288)
at java.security.ProtectionDomain.implies(ProtectionDomain.java:204)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:179)
at java.security.AccessController.checkPermission(AccessController.java:76)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:368)
at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:556)
at java.net.URL.<init>(URL.java:487)
at java.net.URL.<init>(URL.java:384)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:399)
at java.net.URL.<init>(URL.java:505)
at java.net.URL.<init>(URL.java:350)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:408)
at java.net.URL.<init>(URL.java:505)
at java.net.URL.<init>(URL.java:384)
at gnu.java.net.loader.RemoteURLLoader.getResource(RemoteURLLoader.java:74)
at java.net.URLClassLoader.findClass(URLClassLoader.java:528)
at java.lang.ClassLoader.loadClass(ClassLoader.java:341)
at java.lang.ClassLoader$1.loadClass(ClassLoader.java:1112)
at java.lang.ClassLoader.loadClass(ClassLoader.java:293)
at org.apache.felix.framework.security.util.Permissions.cleanUp(Permissions.java:262)
...16 more
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]