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

Reply via email to