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]

Reply via email to