[ 
http://issues.apache.org/jira/browse/GERONIMO-586?page=comments#action_59549 ]
     
John Sisson commented on GERONIMO-586:
--------------------------------------

The following NullPointerException was caused by the 
GeronimoPolicy.getPermissions(..) method having a hardcoded return of null.  
Should GeronimoPolicy.getPermissions(..) be changed so that it delegates to the 
default system policy? e.g..

    public PermissionCollection getPermissions(CodeSource codesource) {
        if (root != null) return root.getPermissions(codesource);
        return null;
    }

19:15:58,702 INFO  [GeronimoLoginConfiguration] Installed Geronimo login 
configuration                                                                   
                                                                                
                                                                                
                                                                                
                                                           
19:15:58,967 INFO  [RMIConnectorServer] RMIConnectorServer stopped at: 
service:jmx:rmi://localhost/jndi/rmi:/JMXConnector                              
                                                                                
                                                                                
                                                                                
                                                             
19:15:58,967 INFO  
[server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JMXService]
 Stopped JMXConnector service:jmx:rmi://localhost/jndi/rmi:/JMXConnector        
                                                                                
                                                                                
                                                                           
19:15:58,967 WARN  
[server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JMXService]
 Failure in JMXConnector service:jmx:rmi://localhost/jndi/rmi:/JMXConnector     
                                                                                
                                                                                
                                                                           
19:15:58,967 ERROR [GBeanInstanceState] Error while starting; GBean is not in 
the FAILED state: 
objectName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JMXService"
                                                                                
                                                                                
                                                          
java.lang.NullPointerException                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at 
sun.rmi.server.LoaderHandler.getLoaderAccessControlContext(LoaderHandler.java:980)
                                                                                
                                                                                
                                                                                
                                                                                
                                       
        at sun.rmi.server.LoaderHandler.lookupLoader(LoaderHandler.java:857)    
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:381)       
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)       
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:631)  
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at 
org.apache.geronimo.system.rmi.RMIClassLoaderSpiImpl.loadClass(RMIClassLoaderSpiImpl.java:48)
        <snip>
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)              
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at 
com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:111)        
                                                                                
                                                                                
                                                                                
                                                                                
                                         
        at 
com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:208)     
                                                                                
                                                                                
                                                                                
                                                                                
                                         
        at javax.naming.InitialContext.bind(InitialContext.java:355)            
                                                                                
                                                                                
                                                                                
                                                                                
                                                    
        at 
mx4j.remote.resolver.rmi.RMIResolver.bindServer(RMIResolver.java:191)           
                                                                                
                                                                                
                                                                                
                                                                                
                                         
        at 
javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:152)
                                                                                
                                                                                
                                                                                
                                                                                
                                        
        at 
org.apache.geronimo.jmxremoting.JMXConnector.doStart(JMXConnector.java:112)     
                                                                                
                                                                                
                                                                                
                                                                                
                                         
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:841)
                                                                                
                 
        <snip>
                                                                                
                                                                                
                                                                                
                      


> Exceptions at startup if Geronimo started under security manager
> ----------------------------------------------------------------
>
>          Key: GERONIMO-586
>          URL: http://issues.apache.org/jira/browse/GERONIMO-586
>      Project: Geronimo
>         Type: Bug
>  Environment: Windows XP
> java version "1.4.2_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
>     Reporter: John Sisson

>
> If I start Geronimo under the Java Security Manager with everything enabled 
> in the policy file I get a number of exceptions when starting Geronimo.
> For example, the policy file I used contained:
> grant {
>   permission java.security.AllPermission;
> };
> I started it used the following JVM parameters:
> -Djava.security.manager  
> -Djava.security.policy==file:///D:/sample-java2.policy -Xdebug  -Xnoagent 
> -Djava.compiler=NONE 
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Xmx512m 
> -XX:MaxPermSize=128m  
> -Djava.rmi.server.RMIClassLoaderSpi=org.apache.geronimo.system.rmi.RMIClassLoaderSpiImpl"
>  
> I shouldn't be having problems starting it with AllPermission.
> Note that the java.security.debug property may assist with debugging:
> http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/debugger.html#jsdp
> John
> 17:07:21,842 ERROR [GBeanInstanceState] Error while starting; GBean is not in 
> the FAILED state: objectName="geronimo.server:J2EEAppl
> ication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=JTAResource,name=HOWLTransactionLog"
> java.security.AccessControlException: access denied 
> (java.lang.reflect.ReflectPermission suppressAccessChecks)
>         at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
>         at 
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
>         at 
> java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107)
>         at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:272)
>         at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:255)
>         at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:251)
>         at 
> net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:388)
>         at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:366)
>         at 
> net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:200)
>         at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:330)
>         at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:246)
>         at 
> org.apache.geronimo.kernel.proxy.ProxyManager$ManagedProxyFactory.createProxy(ProxyManager.java:94)
>         at 
> org.apache.geronimo.kernel.proxy.ProxyManager.createProxy(ProxyManager.java:49)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.start(GBeanSingleReference.java:79)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:773)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:331)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:494)
>         at 
> org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:348)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:141)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:494)
>         at 
> org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:348)
>         at org.apache.geronimo.system.main.Daemon.main(Daemon.java:154)
> 17:07:21,935 INFO  [HttpServer] Statistics on = false for [EMAIL PROTECTED]
> java.lang.ExceptionInInitializerError
>         at org.mortbay.http.HttpServer.doStart(HttpServer.java:671)
>         at org.mortbay.util.Container.start(Container.java:72)
>         at 
> org.apache.geronimo.jetty.JettyContainerImpl.doStart(JettyContainerImpl.java:159)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:841)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:331)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:494)
>         at 
> org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:348)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:141)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:494)
>         at 
> org.apache.geronimo.kernel.Kernel.startRecursiveGBean(Kernel.java:348)
>         at org.apache.geronimo.system.main.Daemon.main(Daemon.java:154)
> Caused by: java.security.AccessControlException: access denied 
> (java.util.PropertyPermission org.mortbay.http.Version.paranoid read)
>         at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
>         at 
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
>         at 
> java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1276)
>         at java.lang.System.getProperty(System.java:573)
>         at java.lang.Boolean.getBoolean(Boolean.java:205)
>         at org.mortbay.http.Version.<clinit>(Version.java:32)
>         ... 13 more
> 17:07:22,029 INFO  [Daemon] Server shutdown begun
> 17:07:22,029 INFO  [Kernel] Starting kernel shutdown
> 17:07:22,029 INFO  [PersistentConfigurationList] Configuration list was not 
> saved.  Kernel was never fully started.
> 17:07:22,029 ERROR [GBeanInstance] Problem in doStop of 
> geronimo.boot:role=ConfigurationManager
> org.apache.geronimo.kernel.InternalKernelException: Error while applying 
> pattern geronimo.config:*
>         at 
> org.apache.geronimo.kernel.jmx.JMXGBeanRegistry.listGBeans(JMXGBeanRegistry.java:118)
>         at org.apache.geronimo.kernel.Kernel.listGBeans(Kernel.java:363)
>         at 
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.doStop(ConfigurationManagerImpl.java:213)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.destroyInstance(GBeanInstance.java:976)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStop(GBeanInstanceState.java:402)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:203)
>         at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:502)
>         at 
> org.apache.geronimo.kernel.Kernel.shutdownConfigManager(Kernel.java:535)
>         at org.apache.geronimo.kernel.Kernel.shutdown(Kernel.java:499)
>         at org.apache.geronimo.system.main.Daemon$1.run(Daemon.java:122)
> Caused by: java.security.AccessControlException: access denied 
> (javax.management.MBeanPermission -#-[-] queryNames)
> java.security.AccessControlException: access denied 
> (javax.management.MBeanServerPermission releaseMBeanServer)
>         at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
>         at 
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
>         at 
> javax.management.MBeanServerFactory.releaseMBeanServer(MBeanServerFactory.java:74)
>         at 
> org.apache.geronimo.kernel.jmx.JMXGBeanRegistry.stop(JMXGBeanRegistry.java:53)
>         at org.apache.geronimo.kernel.Kernel.shutdown(Kernel.java:501)
>         at org.apache.geronimo.system.main.Daemon$1.run(Daemon.java:122)
>         at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
>         at 
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
>         at mx4j.server.MX4JMBeanServer.queryNames(MX4JMBeanServer.java:1228)
>         at 
> org.apache.geronimo.kernel.jmx.JMXGBeanRegistry.listGBeans(JMXGBeanRegistry.java:116)
>         ... 9 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to