NPE in org.jboss.system.ServiceController.start
bonhamcm Apr 29, 2004 2:59 PMI checked out the latest CVS yesterday around 7pm GMT and I got an NPE trying to start my own XMLLoginConfig using a modified version of the StackableSecurityConfig described in the JBoss docs:
2004-04-29 14:30:58,217 DEBUG [org.jboss.security.plugins.StackableSecurityConfig] (main:jboss.security:service=SecurityConfig,domain=LifePage) Starting jboss.security:service=SecurityConfig,domain=LifePage 2004-04-29 14:31:16,864 INFO [org.jboss.security.plugins.StackableSecurityConfig] (main:jboss.security:service=SecurityConfig,domain=LifePage JAAS Login Config) Using mainSecurityConfigName: 'jboss.security:service=SecurityConfig' 2004-04-29 14:31:17,795 INFO [org.jboss.security.plugins.StackableSecurityConfig] (main:jboss.security:service=SecurityConfig,domain=LifePage JAAS Login Config) Using loginConfigName: 'jboss.security:service=XMLLoginConfig,domain=LifePage' 2004-04-29 14:33:15,905 INFO [org.jboss.security.plugins.StackableSecurityConfig] (main:jboss.security:service=SecurityConfig,domain=LifePage JAAS Login Config) Using JAAS AuthConfig: jar:file:/C:/jboss-3.2.4RC2/server/nonsecure/tmp/deploy/tmp57836lifepage.ear-contents/lifepage-security.sar!/META-INF/login-config.xml 2004-04-29 14:33:23,756 WARN [org.jboss.system.ServiceController] (main:jboss.security:service=SecurityConfig,domain=LifePage JAAS Login Config jboss.security:service=XMLLoginConfig,domain=LifePage) Problem starting service jboss.security:service=XMLLoginConfig,domain=LifePage java.lang.NullPointerException at org.jboss.system.ServiceController.start(ServiceController.java:369) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170) at org.jboss.security.plugins.StackableSecurityConfig.startService(StackableSecurityConfig.java:102) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:839) at $Proxy16.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:369) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174) at $Proxy4.start(Unknown Source) at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:828) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174) at $Proxy7.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:839) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:369) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174) at $Proxy4.start(Unknown Source) at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:592) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:186) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:466) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174) at $Proxy5.deploy(Unknown Source) at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:404) at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311) at org.jboss.Main.boot(Main.java:144) at org.jboss.Main$1.run(Main.java:389) at java.lang.Thread.run(Thread.java:536) 2004-04-29 14:33:23,846 DEBUG [org.jboss.security.plugins.SecurityConfig] (main:) Installed JAAS Configuration service=jboss.security:service=XMLLoginConfig,domain=LifePage, config=org.jboss.security.auth.login.XMLLoginConfigImpl@1a04643 2004-04-29 14:33:23,846 DEBUG [org.jboss.security.plugins.StackableSecurityConfig] (main:) Started jboss.security:service=SecurityConfig,domain=LifePage
Apparently the ctx.proxy is null in the ServiceController. This worked with JBoss 3.2.4RC1. Also, here's the code from the StackableSecurityConfig that creates and starts the XMLLoginConfig:
protected void startService() throws Exception { // Look for the authConf as resource ClassLoader loader = Thread.currentThread().getContextClassLoader(); URL loginConfig = loader.getResource(authConf); if( loginConfig != null ) { log.info("Using mainSecurityConfigName: '"+mainSecurityConfig+"'"); log.info("Using loginConfigName: '"+loginConfigName+"'"); log.info("Using JAAS AuthConfig: "+loginConfig.toExternalForm()); config = new XMLLoginConfig(); config.setConfigURL(loginConfig); MBeanServer server = super.getServer(); ObjectName name = super.getServiceName(); name = new ObjectName(loginConfigName); server.registerMBean(config, name); config.start(); <------------------- Line 102 Object[] args = {name.toString()}; String[] sig = {String.class.getName()}; server.invoke(mainSecurityConfig, "pushLoginConfig", args, sig); } else { log.warn("No AuthConfig resource found"); } }
Thanks.