[ 
https://issues.apache.org/jira/browse/FELIX-3163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13127773#comment-13127773
 ] 

Karl Pauls edited comment on FELIX-3163 at 10/14/11 6:47 PM:
-------------------------------------------------------------

Well, your bundle doesn't give any permission to anybody else (except the 
system bundle) -- hence, as soon as your code runs, nobody can do anything 
anymore. I'd guess that is what you called "hunged". Furthermore, after you 
restart the framework, your policy is still in effect and nobody can resolve 
anything. The exceptions you see there are just bundles failing to resolve as 
they don't have permission to import/export their packages. As this is true for 
the shell as well, you don't get a shell either.
                
      was (Author: karlpauls):
    Well, you bundle doesn't give any permission to anybody else (except the 
system bundle) -- hence, as soon as your code runs, nobody can do anything 
anymore. I'd guess that is what you called "hunged". Furthermore, after you 
restart the framework, your policy is still in effect and nobody can resolve 
anything. The exceptions you see there are just bundles failing to resolve as 
they don't have permission to import/export their packages. As this is true for 
the shell as well, you don't get a shell either.
                  
> Failed in use ConditionalPermissionAdmin
> ----------------------------------------
>
>                 Key: FELIX-3163
>                 URL: https://issues.apache.org/jira/browse/FELIX-3163
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework Security
>    Affects Versions: framework-4.0.0, framework.security-2.0.0
>            Reporter: Yanni Yan
>   Original Estimate: 5h
>  Remaining Estimate: 5h
>
> I test ConditionalPermissionAdmin as follow:
>       private void setLocalCPA() throws Exception {
>               ServiceReference<?> srf = 
> context.getServiceReference(ConditionalPermissionAdmin.class.getName());
>               if (null == srf){
>                       throw new BundleException("Not found service: " + 
> ConditionalPermissionAdmin.class.getName());
>               }
>               
>               ConditionalPermissionAdmin cpa = 
> (ConditionalPermissionAdmin)context.getService(srf);
>               if (null == cpa){
>                       throw new BundleException("Failed to get service :" + 
> ConditionalPermissionAdmin.class.getName());
>               }
>               
>               ConditionalPermissionUpdate cpu = 
> cpa.newConditionalPermissionUpdate();
>               // clear all exist permissions
>               cpu.getConditionalPermissionInfos().clear();
>               
>               // assign all permission to all bundles
>               ConditionalPermissionInfo cpi = 
> cpa.newConditionalPermissionInfo(null, new ConditionInfo[]{
>                               new 
> ConditionInfo(BundleLocationCondition.class.getName(),new String[] 
> {context.getBundle(0).getLocation()})
>                               }, new PermissionInfo[]{
>                               new 
> PermissionInfo(AllPermission.class.getName(), "*", "*")
>                               }, ConditionalPermissionInfo.ALLOW);
>               cpu.getConditionalPermissionInfos().add(cpi);
>               // deny FilePermission to current bundle
>       
>               cpu.commit();
>       }
> After my bundle start, felix hunged. I restart felix, felix print as follow:
> D:\Workspace\Felix>java -Djava.security.policy=all.policy -Dorg.osgi.fr
> amework.security=osgi -jar bin/felix.jar
> ERROR: Bundle org.apache.felix.bundlerepository [1] Error starting 
> file:/D:/Work
> space/UniAgent/Felix/bundle/org.apache.felix.bundlerepository-1.6.6.jar 
> (org.osg
> i.framework.BundleException: Unresolved constraint in bundle 
> org.apache.felix.bu
> ndlerepository [1]: Unable to resolve 1.0: missing requirement [1.0] 
> osgi.wiring
> .package; 
> (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=
> 2.0.0))))
> org.osgi.framework.BundleException: Unresolved constraint in bundle 
> org.apache.f
> elix.bundlerepository [1]: Unable to resolve 1.0: missing requirement [1.0] 
> osgi
> .wiring.package; 
> (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(ve
> rsion>=2.0.0)))
>         at 
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
>         at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.command [3] Error starting 
> file:/D:/Workspac
> e/UniAgent/Felix/bundle/org.apache.felix.gogo.command-0.12.0.jar 
> (org.osgi.frame
> work.BundleException: Unresolved constraint in bundle 
> org.apache.felix.gogo.comm
> and [3]: Unable to resolve 3.0: missing requirement [3.0] 
> osgi.wiring.package; (
> &(osgi.wiring.package=org.apache.felix.service.command)(status=provisional)(vers
> ion>=0.10.0)(!(version>=1.0.0))))
> org.osgi.framework.BundleException: Unresolved constraint in bundle 
> org.apache.f
> elix.gogo.command [3]: Unable to resolve 3.0: missing requirement [3.0] 
> osgi.wir
> ing.package; 
> (&(osgi.wiring.package=org.apache.felix.service.command)(status=pro
> visional)(version>=0.10.0)(!(version>=1.0.0)))
>         at 
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
>         at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.runtime [4] Error starting 
> file:/D:/Workspac
> e/UniAgent/Felix/bundle/org.apache.felix.gogo.runtime-0.10.0.jar 
> (org.osgi.frame
> work.BundleException: Unresolved constraint in bundle 
> org.apache.felix.gogo.runt
> ime [4]: Unable to resolve 4.0: missing requirement [4.0] 
> osgi.wiring.package; (
> osgi.wiring.package=org.osgi.framework))
> org.osgi.framework.BundleException: Unresolved constraint in bundle 
> org.apache.f
> elix.gogo.runtime [4]: Unable to resolve 4.0: missing requirement [4.0] 
> osgi.wir
> ing.package; (osgi.wiring.package=org.osgi.framework)
>         at 
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
>         at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle org.apache.felix.gogo.shell [5] Error starting 
> file:/D:/Workspace/
> UniAgent/Felix/bundle/org.apache.felix.gogo.shell-0.10.0.jar 
> (org.osgi.framework
> .BundleException: Unresolved constraint in bundle org.apache.felix.gogo.shell 
> [5
> ]: Unable to resolve 5.0: missing requirement [5.0] osgi.wiring.package; 
> (&(osgi
> .wiring.package=org.apache.felix.service.command)(status=provisional)(version>=0
> .10.0)))
> org.osgi.framework.BundleException: Unresolved constraint in bundle 
> org.apache.f
> elix.gogo.shell [5]: Unable to resolve 5.0: missing requirement [5.0] 
> osgi.wirin
> g.package; 
> (&(osgi.wiring.package=org.apache.felix.service.command)(status=provi
> sional)(version>=0.10.0))
>         at 
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
>         at java.lang.Thread.run(Unknown Source)
> ERROR: Bundle First [7] Error starting file:plugins/First_1.0.0.0.jar 
> (org.osgi.
> framework.BundleException: Unresolved constraint in bundle First [7]: Unable 
> to
> resolve 7.0: missing requirement [7.0] osgi.wiring.package; 
> (&(osgi.wiring.packa
> ge=org.osgi.framework)(version>=1.3.0)))
> org.osgi.framework.BundleException: Unresolved constraint in bundle First 
> [7]: U
> nable to resolve 7.0: missing requirement [7.0] osgi.wiring.package; 
> (&(osgi.wir
> ing.package=org.osgi.framework)(version>=1.3.0))
>         at 
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:381
> 8)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStart
> LevelImpl.java:295)
>         at java.lang.Thread.run(Unknown Source)
> I didn't know what happend. Please help me.

--
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

        

Reply via email to