Hi Thomas, On Thu, Jun 9, 2011 at 6:47 PM, Thomas Watson <[email protected]> wrote:
> 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. > thanks, you are spot on. i use the OSGI framework inside the web app (bridge servlet mechanism). I set the grant Allpermission to the webApp in the was.policy file. Still i'm getting this error. However rectified this proplem by patching the osgiFramework jar. It looks like as if the framework is not getting the AllPermissions. Is there any property to set other than, setting permissions in the was.policy file. thanks, --Pradeep > Tom > > > > [image: Inactive hide details for Pradeep Fernando ---06/08/2011 11:54:43 > PM---Hi,]Pradeep Fernando ---06/08/2011 11:54:43 PM---Hi, > > > 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 > > > > _______________________________________________ > equinox-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/equinox-dev > > -- Pradeep Fernando. http://pradeepfernando.blogspot.com/
<<graycol.gif>>
<<ecblank.gif>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
