Felix Framework 3.2.0 and Framework Security 1.4.2 fails OSGI Conditional Permission Admin CT when running on IBM JVM 5 and 6. ------------------------------------------------------------------------------------------------------------------------------
Key: FELIX-2941 URL: https://issues.apache.org/jira/browse/FELIX-2941 Project: Felix Issue Type: Bug Components: Framework, Framework Security Affects Versions: framework.security-1.4.1, framework-3.2.0 Environment: java version "1.6.0" Java(TM) SE Runtime Environment (build pwi3260sr9-20101125_01(SR9)) IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr9-20101124_69295 (JIT enabled, AOT enabled) J9VM - 20101124_069295 JIT - r9_20101028_17488ifx2 GC - 20101027_AA) JCL - 20101119_01 java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build pwi32devifx-20070725 (SR5a)) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070426 (JIT enabled) J9VM - 20070420_12448_lHdSMR JIT - 20070419_1806_r8 GC - 200704_19) JCL - 20070725 Reporter: John Ross I was executing the ConditionalTestControl.testMultipleBundlesOnStack() test case of the org.osgi.test.cases.condpermadmin CT using org.apache.felix.framework-3.2.0.jar and org.apache.felix.framework.security-1.4.2.jar but ran into the following issue using IBM JVM 5 and 6. Ran fine on Oracle JVM 6 and IBM JVM 4.2. org.osgi.framework.BundleException: Activator start error in bundle org.osgi.test.cases.condpermadmin.tb2 [5]. at org.apache.felix.framework.Felix.activateBundle(Felix.java:1899) at org.apache.felix.framework.Felix.startBundle(Felix.java:1769) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:914) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:510) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:496) at org.osgi.test.cases.condpermadmin.junit.ConditionalTestControl.setState(ConditionalTestControl.java:823) at org.osgi.test.support.compatibility.DefaultTestBundleControl.setUp(DefaultTestBundleControl.java:51) at junit.framework.TestCase.runBare(TestCase.java:128) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at aQute.junit.Activator.test(Activator.java:200) at aQute.junit.Activator.run(Activator.java:51) Caused by: java.lang.SecurityException: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:560) at java.lang.ClassLoader.getParent(ClassLoader.java:420) at org.apache.felix.framework.ModuleImpl.getBootDelegationClassLoader(ModuleImpl.java:1684) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:722) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1801) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at org.osgi.test.cases.condpermadmin.tb2.Activator.start(Activator.java:44) at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1243) at java.security.AccessController.doPrivileged(AccessController.java:284) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:620) at org.apache.felix.framework.Felix.activateBundle(Felix.java:1852) ... 16 more Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at java.security.AccessController.checkPermission(AccessController.java:108) at java.lang.SecurityManager.checkPermission(SecurityManager.java:544) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:556) ... 27 more # add error to testMultipleBundlesOnStack(org.osgi.test.cases.condpermadmin.junit.ConditionalTestControl) : Activator start error in bundle org.osgi.test.cases.condpermadmin.tb2 [5]. org.osgi.framework.BundleException: Activator start error in bundle org.osgi.test.cases.condpermadmin.tb2 [5]. at org.apache.felix.framework.Felix.activateBundle(Felix.java:1899) at org.apache.felix.framework.Felix.startBundle(Felix.java:1769) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:914) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:510) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:496) at org.osgi.test.cases.condpermadmin.junit.ConditionalTestControl.setState(ConditionalTestControl.java:823) at org.osgi.test.support.compatibility.DefaultTestBundleControl.setUp(DefaultTestBundleControl.java:51) at junit.framework.TestCase.runBare(TestCase.java:128) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at aQute.junit.Activator.test(Activator.java:200) at aQute.junit.Activator.run(Activator.java:51) Caused by: java.lang.SecurityException: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:560) at java.lang.ClassLoader.getParent(ClassLoader.java:420) at org.apache.felix.framework.ModuleImpl.getBootDelegationClassLoader(ModuleImpl.java:1684) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:722)Not able to install testbundle bundle://2.0:0/tb2.jar Nested java.lang.SecurityException: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1801) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at org.osgi.test.cases.condpermadmin.tb2.Activator.start(Activator.java:44) at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1243) at java.security.AccessController.doPrivileged(AccessController.java:284) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:620) at org.apache.felix.framework.Felix.activateBundle(Felix.java:1852) ... 16 more Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at java.security.AccessController.checkPermission(AccessController.java:108) at java.lang.SecurityManager.checkPermission(SecurityManager.java:544) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:556) ... 27 more # << testMultipleBundlesOnStack(org.osgi.test.cases.condpermadmin.junit.ConditionalTestControl), fails=1 # out: Not able to install testbundle bundle://2.0:0/tb2.jar Nested java.lang.SecurityException: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) # err: org.osgi.framework.BundleException: Activator start error in bundle org.osgi.test.cases.condpermadmin.tb2 [5]. at org.apache.felix.framework.Felix.activateBundle(Felix.java:1899) at org.apache.felix.framework.Felix.startBundle(Felix.java:1769) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:914) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:510) at org.osgi.test.support.compatibility.DefaultTestBundleControl.installBundle(DefaultTestBundleControl.java:496) at org.osgi.test.cases.condpermadmin.junit.ConditionalTestControl.setState(ConditionalTestControl.java:823) at org.osgi.test.support.compatibility.DefaultTestBundleControl.setUp(DefaultTestBundleControl.java:51) at junit.framework.TestCase.runBare(TestCase.java:128) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at aQute.junit.Activator.test(Activator.java:200) at aQute.junit.Activator.run(Activator.java:51) Caused by: java.lang.SecurityException: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:560) at java.lang.ClassLoader.getParent(ClassLoader.java:420) at org.apache.felix.framework.ModuleImpl.getBootDelegationClassLoader(ModuleImpl.java:1684) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:722) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1801) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at org.osgi.test.cases.condpermadmin.tb2.Activator.start(Activator.java:44) at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1243) at java.security.AccessController.doPrivileged(AccessController.java:284) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:620) at org.apache.felix.framework.Felix.activateBundle(Felix.java:1852) ... 16 more Caused by: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader) at java.security.AccessController.checkPermission(AccessController.java:108) at java.lang.SecurityManager.checkPermission(SecurityManager.java:544) at org.apache.felix.framework.Felix$1.checkPermission(Felix.java:556) ... 27 more -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira