geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacques Le Roux (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GERONIMO-4037) Geronimo 2.0.3 (and I guess at least 2.0.2) can't run with a security manager settled from the command line using -Djava.security.manager
Date Fri, 23 May 2008 17:19:55 GMT

    [ https://issues.apache.org/jira/browse/GERONIMO-4037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12599436#action_12599436
] 

Jacques Le Roux commented on GERONIMO-4037:
-------------------------------------------

Thanks for comment Dan,

I can'r see any clues in the stack so far but I wonder why timers are popping, here is the
stack

Geronimo2.0 [Remote Java Application]	
	Java HotSpot(TM) Client VM[localhost:5005]	
		Thread [main] (Suspended (breakpoint at line 74 in GeronimoPolicy))	
			GeronimoPolicy.implies(ProtectionDomain, Permission) line: 74	
			ProtectionDomain.implies(Permission) line: 195	
			AccessControlContext.checkPermission(Permission) line: 249	
			AccessController.checkPermission(Permission) line: 427	
			SecurityManager.checkPermission(Permission) line: 532	
			SecurityManager.checkPropertyAccess(String) line: 1285	
			System.getProperty(String) line: 628	
			SecurityServiceImpl.sysOverRide(String, String) line: 101	
			SecurityServiceImpl.<init>(ClassLoader, ServerInfo, String, String, String, String,
String, String) line: 76	
			NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available [native
method]	
			NativeConstructorAccessorImpl.newInstance(Object[]) line: 39	
			DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27	
			Constructor<T>.newInstance(Object...) line: 494	
			GBeanInstance.createInstance() line: 946	
			GBeanInstanceState.attemptFullStart() line: 268	
			GBeanInstanceState.start() line: 102	
			GBeanInstanceState.startRecursive() line: 124	
			GBeanInstance.startRecursive() line: 553	
			BasicKernel.startRecursiveGBean(AbstractName) line: 379	
			ConfigurationUtil.startConfigurationGBeans(AbstractName, Configuration, Kernel) line: 448

			EditableKernelConfigurationManager(KernelConfigurationManager).start(Configuration) line:
187	
			EditableKernelConfigurationManager(SimpleConfigurationManager).startConfiguration(Artifact,
LifecycleMonitor) line: 530	
			SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, Object, Object[]) line:
not available	
			FastMethod.invoke(Object, Object[]) line: 53	
			FastMethodInvoker.invoke(Object, Object[]) line: 38	
			GBeanOperation.invoke(Object, Object[]) line: 124	
			GBeanInstance.invoke(int, Object[]) line: 830	
			RawInvoker.invoke(int, Object[]) line: 57	
			RawOperationInvoker.invoke(AbstractName, Object[]) line: 35	
			ProxyMethodInterceptor.intercept(Object, Method, Object[], MethodProxy) line: 96	
			EditableConfigurationManager$$EnhancerByCGLIB$$7e14cd11.startConfiguration(Artifact, LifecycleMonitor)
line: not available	
			EmbeddedDaemon.doStartup() line: 156	
			EmbeddedDaemon.execute(Object) line: 78	
			MainConfigurationBootstrapper.main(MainConfigurationBootstrapper, Object) line: 45	
			DaemonCLI(AbstractCLI).executeMain() line: 67	
			DaemonCLI.main(String[]) line: 30	
		Daemon Thread [Timer-0] (Suspended (breakpoint at line 74 in GeronimoPolicy))	
			GeronimoPolicy.implies(ProtectionDomain, Permission) line: 74	
			ProtectionDomain.implies(Permission) line: 195	
			AccessControlContext.checkPermission(Permission) line: 249	
			AccessController.checkPermission(Permission) line: 427	
			SecurityManager.checkPermission(Permission) line: 532	
			SecurityManager.checkRead(String) line: 871	
			File.isDirectory() line: 721	
			LocalAttributeManager.ensureParentDirectory() line: 596	
			LocalAttributeManager.save() line: 373	
			LocalAttributeManager$2.run() line: 618	
			TimerThread.mainLoop() line: 512	
			TimerThread.run() line: 462	
		Daemon Thread [Timer-2] (Suspended (breakpoint at line 74 in GeronimoPolicy))	
			GeronimoPolicy.implies(ProtectionDomain, Permission) line: 74	
			ProtectionDomain.implies(Permission) line: 195	
			AccessControlContext.checkPermission(Permission) line: 249	
			AccessController.checkPermission(Permission) line: 427	
			SecurityManager.checkPermission(Permission) line: 532	
			SecurityManager.checkRead(String) line: 871	
			File.canRead() line: 658	
			UrlResourceFinder.getClassPath() line: 147	
			UrlResourceFinder.getResource(String) line: 75	
			JarFileClassLoader$6.run() line: 278	
			AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext)
line: not available [native method]	
			JarFileClassLoader.findClass(String) line: 260	
			JarFileClassLoader(MultiParentClassLoader).loadClassInternal(String, boolean, LinkedList<ClassLoader>)
line: 470	
			JarFileClassLoader(MultiParentClassLoader).checkParents(String, boolean, LinkedList<ClassLoader>)
line: 498	
			JarFileClassLoader(MultiParentClassLoader).loadClassInternal(String, boolean, LinkedList<ClassLoader>)
line: 456	
			JarFileClassLoader(MultiParentClassLoader).checkParents(String, boolean, LinkedList<ClassLoader>)
line: 498	
			JarFileClassLoader(MultiParentClassLoader).loadOptimizedClass(String, boolean) line: 407

			JarFileClassLoader(MultiParentClassLoader).loadClass(String, boolean) line: 278	
			JarFileClassLoader(ClassLoader).loadClass(String) line: 251	
			JarFileClassLoader(ClassLoader).loadClassInternal(String) line: 319	
			GeronimoPolicy.implies(ProtectionDomain, Permission) line: 74	
			ProtectionDomain.implies(Permission) line: 195	
			AccessControlContext.checkPermission(Permission) line: 249	
			AccessController.checkPermission(Permission) line: 427	
			SecurityManager.checkPermission(Permission) line: 532	
			SecurityManager.checkRead(String) line: 871	
			File.lastModified() line: 793	
			Log4jService$URLMonitorTask.run() line: 678	
			TimerThread.mainLoop() line: 512	
			TimerThread.run() line: 462	
		Daemon Thread [Progress Display Update Thread] (Running)	
		Daemon Thread [Timer-3] (Running)	

As a singleton should be created maybe thes concurrent accesses are a part of the problem
(though of course GeronimoPolicyConfigurationFactory constructor is well synchronized)

> Geronimo 2.0.3 (and I guess at least 2.0.2) can't run  with a security manager settled
from the command line using -Djava.security.manager
> ------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-4037
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4037
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: kernel, security
>    Affects Versions: 2.0.2
>         Environment: Windows Xp Sp2
>            Reporter: Jacques Le Roux
>            Priority: Blocker
>
> I'm facing an issue on Windows XPsp2: I can't run WASCE with a security manager settled
from the command line using -Djava.security.manager-Djava.security.policy=client.policy options.
I get the error below. Note that this is working properly under Linux (Ubuntu and Suze as
well).
> C:\geronimo-tomcat6-jee5-2.0.3\bin>geronimo run
> Using GERONIMO_BASE:   C:\geronimo-tomcat6-jee5-2.0.3
> Using GERONIMO_HOME:   C:\geronimo-tomcat6-jee5-2.0.3
> Using GERONIMO_TMPDIR: var\temp
> Using JRE_HOME:        C:\Program Files\Java\jre1.5.0_11
> Listening for transport dt_socket at address: 5005
> Booting Geronimo Kernel (in Java 1.5.0_11)...
> Starting Geronimo Application Server v2.0.3-SNAPSHOT
> [***>                                  ] 11%  27s Starting org.apac...15:57:28,625
ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="org.apache.geronimo.configs/
> j2ee-security/2.0.3-SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/j2ee-security/2.0.3-SNAPSHOT/car,j2eeType=GBean,name=SecurityService"
> java.lang.LinkageError: org/apache/geronimo/security/jacc/GeronimoPolicyConfigurationFactory
>         at org.apache.geronimo.security.jacc.GeronimoPolicy.implies(GeronimoPolicy.java:74)
>         at java.security.ProtectionDomain.implies(Unknown Source)
>         at java.security.AccessControlContext.checkPermission(Unknown Source)
>         at java.security.AccessController.checkPermission(Unknown Source)
>         at java.lang.SecurityManager.checkPermission(Unknown Source)
>         at java.lang.Thread.setContextClassLoader(Unknown Source)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1056)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:553)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>         at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:448)
>         at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
>         at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
>         at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
>         at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>         at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>         at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
>         at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>         at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>         at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>         at org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$7e14cd11.startConfiguration(<generated>)
>         at org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:156)
>         at org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:78)
>         at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
>         at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>         at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> 15:57:28,640 WARN  [BasicLifecycleMonitor] Exception occured while notifying listener
> [...]
> This is needed in order to launch the OFBiz RMIDispatcher (in other words to allow using
RMI inside Apache OFBiz). That's why I put this issue as a blocker.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message