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