1 Reply Latest reply on Jun 10, 2009 9:14 AM by lelleh

    NPE in FlaggedPolicyModule.toString on redeploy

    lelleh

      JBoss 5.0.1.GA and 5.1.0.GA.

      I have an ear with a war, and the latter has a file WEB-INF/fsws-db-login-jboss-beans.xml with the following

      <?xml version="1.0" encoding="UTF-8"?>
      <deployment xmlns="urn:jboss:bean-deployer:2.0">
      
       <application-policy xmlns="urn:jboss:security-beans:1.0" name="fsws">
       <authentication>
       <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
       flag = "required">
       <module-option name="dsJndiName">java:jdbc/FSWS_AUTH</module-option>
       <module-option name="principalsQuery">SELECT passord FROM wsbruker WHERE navn=?</module-option>
       <module-option name="rolesQuery">SELECT rolle, 'Roles' FROM wsbruker_roller WHERE navn=?</module-option>
       <module-option name="hashAlgorithm">SHA-1</module-option>
       <module-option name="unauthenticatedIdentity">guest</module-option>
      
       </login-module>
       </authentication>
       </application-policy>
      
      </deployment>
      


      (I have had this working with the older DynamicLoginConfig-approach, deployed in a file which was not part of the ear or war.)

      I wonder what I do wrong, because hot deployment of my ear does not work with this, as it is not cleanly uninstalled:


      09:03:33,471 WARN [AbstractKernelController] Error uninstalling from Configured: name=fsws$AuthenticationPolicy$Module0 state=Configured
      java.lang.NullPointerException
      at org.jboss.security.microcontainer.beans.FlaggedPolicyModule.toString(FlaggedPolicyModule.java:110)
      at java.lang.String.valueOf(String.java:2827)
      at org.jboss.util.JBossStringBuilder.append(JBossStringBuilder.java:114)
      at org.jboss.dependency.plugins.AbstractControllerContext.toString(AbstractControllerContext.java:362)
      at org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext.toString(AbstractKernelControllerContext.java:174)
      at org.jboss.util.JBossObject.toStringImplementation(JBossObject.java:232)
      at org.jboss.util.JBossObject.toString(JBossObject.java:161)
      at java.lang.String.valueOf(String.java:2827)
      at java.lang.StringBuilder.append(StringBuilder.java:115)
      at org.jboss.kernel.plugins.dependency.ConfigureAction.uninstallActionInternal(ConfigureAction.java:62)
      ...
      09:03:33,472 ERROR [BeanMetaDataDeployer] Error during undeploy: fsws$AuthenticationPolicy$Module0
      java.lang.Error: INTERNAL ERROR: context not found in previous state Configured context=name=fsws$AuthenticationPolicy$Module0 state=Configured
      at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1171)
      ...


      The offending line in FlaggedPolicyModule.toString() goes:

      for (Map.Entry<String, Object> entry : super.options.entrySet())
      


      On server shutdown I also see the same warning/error pair for messaging$AuthenticationPolicy$Module0

      WARN [AbstractKernelController] Error uninstalling from Configured: name=messaging$AuthenticationPolicy$Module0 state=Configured
      java.lang.NullPointerException
      at org.jboss.security.microcontainer.beans.FlaggedPolicyModule.toString(FlaggedPolicyModule.java:110)
      ...
      ERROR [BeanMetaDataDeployer] Error during undeploy: messaging$AuthenticationPolicy$Module0
      java.lang.Error: INTERNAL ERROR: context not found in previous state Configured context=name=messaging$AuthenticationPolicy$Module0 state=Configured