title: java.lang.NullPointerException at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChainContents
body: <p>I have a war application (spring + jsf1.2/richfaces + hibernate) running on my was8.5 server, when i try to access <a href="http://localhost:9080/name_app/login.xhtml" rel="nofollow">http://localhost:9080/name_app/login.xhtml</a>, I get <code>java.lang.NullPointerException</code> coming from the server internal source, below is the log trace of the error :</p>
  
  <pre><code>[28/01/16 09:45:06:325 WET]     FFDC Exception:java.lang.NullPointerException SourceId:com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters -RE ProbeId:1123 Reporter:com.ibm.ws.webcontainer.filter.WebAppFilterManagerImpl@9afb2765
  java.lang.NullPointerException
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChainContents(WebAppFilterManager.java:775)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:379)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:931)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3926)
      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007)
      at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
  </code></pre>
  
  <p>web.xml :</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app id="Auth_Super_Admin_WEBAPP" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"&gt; 
  
      &lt;description&gt;Antij Project web.xml&lt;/description&gt;
      &lt;display-name&gt;Antij -AuthForte-User-Admin-web&lt;/display-name&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;
          &lt;param-value&gt;classic&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;!-- added , but doesn't affect--&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.PROJECT_STAGE&lt;/param-name&gt;
          &lt;param-value&gt;Development&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;com.sun.faces.enableViewStateIdRendering&lt;/param-name&gt;
          &lt;param-value&gt;false&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;com.sun.faces.verifyObjects&lt;/param-name&gt;
          &lt;param-value&gt;false&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
          &lt;param-value&gt;WEB-INF/web-context.xml&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;facelets.REFRESH_PERIOD&lt;/param-name&gt;
          &lt;param-value&gt;1&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;facelets.SKIP_COMMENTS&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt;
          &lt;param-value&gt;.xhtml&lt;/param-value&gt;
      &lt;/context-param&gt;
  &lt;!--    &lt;context-param&gt; --&gt;
  &lt;!--        &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt; --&gt;
  &lt;!--        &lt;param-value&gt;server&lt;/param-value&gt; --&gt;
  &lt;!--    &lt;/context-param&gt; --&gt;
      &lt;context-param&gt;
          &lt;description&gt;
          State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2&lt;/description&gt;
          &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
          &lt;param-value&gt;client&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.servlet.jsp.jstl.fmt.localizationContext&lt;/param-name&gt;
          &lt;param-value&gt;resources.application&lt;/param-value&gt;
      &lt;/context-param&gt;
  
  
   &lt;context-param&gt;
    &lt;param-name&gt;facelets.LIBRARIES&lt;/param-name&gt;
    &lt;param-value&gt;/WEB-INF/components/antij.taglib.xml&lt;/param-value&gt;
   &lt;/context-param&gt;
  &lt;!--   --&gt;
  
  
      &lt;filter&gt;
          &lt;filter-name&gt;extensionsFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;org.apache.myfaces.webapp.filter.ExtensionsFilter&lt;/filter-class&gt;
          &lt;init-param&gt;
              &lt;description&gt;Set the size limit for uploaded files.
  Format: 10 - 10 bytes
  10k - 10 KB
  10m - 10 MB
  1g - 1 GB
  &lt;/description&gt;
              &lt;param-name&gt;uploadMaxFileSize&lt;/param-name&gt;
              &lt;param-value&gt;100m&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
              &lt;description&gt;Set the threshold size - files below this limit are stored
  in memory, files above this limit are stored on disk.
  Format: 10 - 10 bytes
  10k - 10 KB
  10m - 10 MB
  1g - 1 GB
  &lt;/description&gt;
              &lt;param-name&gt;uploadThresholdSize&lt;/param-name&gt;
              &lt;param-value&gt;100k&lt;/param-value&gt;
          &lt;/init-param&gt;
      &lt;/filter&gt;
      &lt;filter&gt;
          &lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
          &lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;
      &lt;/filter&gt;
      &lt;filter&gt;
          &lt;filter-name&gt;springSecurityFilterChain&lt;/filter-name&gt;
          &lt;filter-class&gt;org.springframework.web.filter.DelegatingFilterProxy&lt;/filter-class&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;
          &lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;
          &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;
      &lt;/filter-mapping&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;extensionsFilter&lt;/filter-name&gt;
          &lt;servlet-name&gt;*.xhtml&lt;/servlet-name&gt;
      &lt;/filter-mapping&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;springSecurityFilterChain&lt;/filter-name&gt;
          &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt; 
      &lt;!-- listener to load spring beans --&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;!-- Faces Servlet --&gt;
      &lt;servlet&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
      &lt;!-- Faces Servlet Mapping --&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;welcome-file-list&gt;
          &lt;welcome-file&gt;/modules/index.xhtml&lt;/welcome-file&gt;
      &lt;/welcome-file-list&gt;
      &lt;!--
      &lt;resource-ref&gt;
          &lt;description&gt;My Data Source.&lt;/description&gt;
          &lt;res-ref-name&gt;acs_3ds&lt;/res-ref-name&gt;
          &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
          &lt;res-auth&gt;Container&lt;/res-auth&gt;
      &lt;/resource-ref&gt;--&gt;
  
      &lt;!-- resource ref for websphere --&gt;
  
       &lt;resource-ref&gt;
         &lt;res-ref-name&gt;jdbc/acs_3ds_websphere_db&lt;/res-ref-name&gt;
         &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
         &lt;res-auth&gt;Container&lt;/res-auth&gt;
         &lt;res-sharing-scope&gt;Shareable&lt;/res-sharing-scope&gt;
      &lt;/resource-ref&gt;
  
      &lt;persistence-unit-ref&gt;
         &lt;persistence-unit-ref-name&gt;persistence/authentification-forte-user-admin-entityManager-pu&lt;/persistence-unit-ref-name&gt;
         &lt;persistence-unit-name&gt;authentification-forte-user-admin-entityManager-pu&lt;/persistence-unit-name&gt;
      &lt;/persistence-unit-ref&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>According to the log trace it didn't originate in own code, I think it's about some misconfiguration in web.xml , Am not sure.</p>
  
  <p>How is this caused and how can I solve it?</p>