Is your webapp granted AllPermission? There is a bug in the version of AdminPermission you are using which has been fixed in the OSGi R4.2 Core specification (implemented in Equinox 3.5 or later) which is causing the endless recursion. In most cases this endless recursion does not get hit because the class loader loading up the framework implementation grants the framework AllPermission and the AllPermission grant short circuits the permission check and avoids the endless recursion. However, if your setup deviates from this at all then additional checks are done to determine if the code on the stack has permissions and this leads to the recursion.
Tom |------------> | From: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Pradeep Fernando <[email protected]> | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | To: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |[email protected] | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Date: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |06/08/2011 11:54 PM | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Subject: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |[equinox-dev] StackOverflow error while deploying osgi runtime in WAS 6.1 with java2 security | >--------------------------------------------------------------------------------------------------------------------------------------------------| Hi, I was trying to get my OSGI runtime up and running in the IBM WAS 6.1 . My application is a webapp that uses the BridgeServlet as the connector between appserver and the OSGI environment. It works fine untill I enable the JAVA2 sercurity. Since the error traces are relevant to the OSGI system bundle, I think you guys have a better idea what is happening. In the bundleContextImpl class , the startActivator method calls a doPriviledged method and it recursively calls the other bundles in the configured system. This is the expected behaviour i guess. But somehow it throws a stackoverflow (pasted below) exception while doing that it seems. The error I'm getting is similar to the error listed in a eclipse forum [1] . Their advice is to set the ' eclipse.security = true ' in the config.ini . I did that and it didnt work for me. Apart from that I cant see the rationale behind setting that property ; didnt see a usage of that property during my debugging session. any thoughts ? explanations ? welcome. my environment : windows XP, IBM WAS 6.1.29 trial version equinox runtime 3.5 - (this is bit old, but i cant change this right now) enabled java2 security granted all permission to my web-app in the policy file [1] http://www.eclipse.org/forums/index.php?t=msg&goto=538878& The Stack Trace : !SESSION 2011-06-06 11:10:30.756 ----------------------------------------------- eclipse.buildId=unknown java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20060504 (JIT enabled) J9VM - 20060501_06428_lHdSMR JIT - 20060428_1800_r8 GC - 20060501_AA BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US !ENTRY org.eclipse.osgi 4 0 2011-06-06 11:10:30.756 !MESSAGE !STACK 0 org.osgi.framework.BundleException: Exception in org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() of bundle org.eclipse.osgi. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator (BundleContextImpl.java:805) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start (BundleContextImpl.java:754) at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.resume (InternalSystemBundle.java:207) at org.eclipse.osgi.framework.internal.core.Framework.launch (Framework.java:649) at org.eclipse.core.runtime.adaptor.EclipseStarter.startup (EclipseStarter.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.wso2.carbon.bridge.EquinoxFrameworkLauncher.start (EquinoxFrameworkLauncher.java:394) at org.wso2.carbon.bridge.BridgeServlet.init(BridgeServlet.java:92) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at com.ibm.ws.webcontainer.servlet.ServletWrapper.init (ServletWrapper.java:227) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init (ServletWrapper.java:341) at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize (ServletWrapper.java:1308) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize (ServletWrapper.java:174) at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper (WebExtensionProcessor.java:99) at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper (WebApp.java:902) at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper (WebApp.java:824) at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings (WebApp.java:542) at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish (WebApp.java:379) at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize (WebApp.java:293) at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication (WebGroup.java:93) at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication (VirtualHost.java:162) at com.ibm.ws.wswebcontainer.WebContainer.addWebApp (WebContainer.java:673) at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication (WebContainer.java:626) at com.ibm.ws.webcontainer.component.WebContainerImpl.install (WebContainerImpl.java:335) at com.ibm.ws.webcontainer.component.WebContainerImpl.start (WebContainerImpl.java:551) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start (ApplicationMgrImpl.java:1250) at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart (DeployedApplicationImpl.java:1140) at com.ibm.ws.runtime.component.DeployedModuleImpl.start (DeployedModuleImpl.java:569) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start (DeployedApplicationImpl.java:819) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication (ApplicationMgrImpl.java:921) at com.ibm.ws.runtime.component.ApplicationMgrImpl $AppInitializer.run(ApplicationMgrImpl.java:2100) at com.ibm.wsspi.runtime.component.WsComponentImpl $_AsynchInitializer.run(WsComponentImpl.java:342) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) Caused by: java.lang.StackOverflowError at org.eclipse.osgi.framework.internal.core.Framework.getAdminPermission (Framework.java:1185) at org.eclipse.osgi.framework.internal.core.Framework.checkAdminPermission (Framework.java:1178) at org.eclipse.osgi.framework.internal.core.AbstractBundle.getLocation (AbstractBundle.java:997) at org.osgi.framework.AdminPermission$1.run (AdminPermission.java:830) at java.security.AccessController.doPrivileged (AccessController.java:192) at org.osgi.framework.AdminPermission.getProperties (AdminPermission.java:827) at org.osgi.framework.AdminPermission.implies0 (AdminPermission.java:650) at org.osgi.framework.AdminPermissionCollection.implies (AdminPermission.java:962) at org.eclipse.osgi.framework.internal.core.ConditionalPermissionSet.implies (ConditionalPermissionSet.java:224) at org.eclipse.osgi.framework.internal.core.BundleCombinedPermissions.implies (BundleCombinedPermissions.java:124) at java.security.ProtectionDomain.implies(ProtectionDomain.java:225) at java.security.AccessController.checkPermission (AccessController.java:94) at java.lang.SecurityManager.checkPermission (SecurityManager.java:547) at com.ibm.ws.security.core.SecurityManager.checkPermission (SecurityManager.java:213) at org.eclipse.osgi.framework.internal.core.Framework.checkAdminPermission (Framework.java:1178) at org.eclipse.osgi.framework.internal.core.AbstractBundle.getLocation (AbstractBundle.java:997) at org.osgi.framework.AdminPermission$1.run (AdminPermission.java:830) at java.security.AccessController.doPrivileged (AccessController.java:192) Thanks in advance. -- Pradeep Fernando. _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
<<inline: graycol.gif>>
<<inline: ecblank.gif>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
