NullPointerException in HeaderResourcesRendererBase
---------------------------------------------------

                 Key: RF-5248
                 URL: https://jira.jboss.org/jira/browse/RF-5248
             Project: RichFaces
          Issue Type: Bug
    Affects Versions: 3.1.5
         Environment: richfaces 3.1.5
myFaces 1.1.5
tomahawk 1.1.7
tomcat 5.5.25
jdk 1.6.0_10
            Reporter: Michael Heinen


I am facing sometimes a NullPointerException in class 
HeaderResourcesRendererBase in method getUrisSet.
This occurs if two users post a from nearly parallel (no ajax request)
I can sometimes reproduce it if I open two IE instances and submit two forms 
very fast from each IE, one after another.
Note that the processing of the action takes some time (nearly 20 seconds due 
to some initializations).

StackTrace:
java.lang.NullPointerException
        at 
org.ajax4jsf.renderkit.HeaderResourcesRendererBase.getUrisSet(HeaderResourcesRendererBase.java:101)
        at 
org.ajax4jsf.renderkit.HeaderResourcesRendererBase.getHeaderScripts(HeaderResourcesRendererBase.java:54)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:61)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at 
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:94)
        at org.ajax4jsf.context.ViewResources.collect(ViewResources.java:41)
        at 
org.ajax4jsf.context.AjaxContextImpl.processHeadResources(AjaxContextImpl.java:398)
        at 
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:245)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
        at 
org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
        at 
com.recommind.litigation.client.web.servlets.FacesServletWrapper.service(FacesServletWrapper.java:136)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:344)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
com.recommind.litigation.client.web.filters.LoginFilter.doFilter(LoginFilter.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
com.recommind.litigation.client.web.filters.EncodingFilter.doFilter(EncodingFilter.java:49)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
com.recommind.litigation.client.web.filters.TimerFilter.doFilter(TimerFilter.java:65)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Unknown Source)
        
I added a Java Exception Breakpoint to suspend if a NullPointerException occurs.
The vars are initialized with following values (stopped at line 101):

for (int i = 0; i < resources.length; i++) {
        InternetResource resource = resources[i];
        uris.add(resource.getUri(context, component));   /***** line 101 *****/
}

component=AjaxPoll
resources = InternetResource[1]  
resources[1] = AjaScript 
i=0
resource= null !!!

resources[i] contains a AjaScript instance but resource is null!
So there must be an issue with multithreading, or?

Is this a duplicate of RF-1555 ? If so is there any way to fix this in the 
3.1.X branch ?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to