[
https://jira.jboss.org/jira/browse/RF-5248?page=com.atlassian.jira.plugin...
]
Nick Belaevski commented on RF-5248:
------------------------------------
Ok, we should consider this for 3.3.0.
There are no scheduled 3.1.x releases yet, so for now the only chance to get the fix would
be to merge patch into branch and build RichFaces from sources
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
Fix For: 3.3.0
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