[ 
https://issues.apache.org/jira/browse/TRINIDAD-2419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prakash Udupa updated TRINIDAD-2419:
------------------------------------

    Status: Patch Available  (was: Open)

> Need to check validity of FacesContext for before servicing resource requests
> -----------------------------------------------------------------------------
>
>                 Key: TRINIDAD-2419
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2419
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Archetype
>    Affects Versions: 2.0.1-core
>            Reporter: Prakash Udupa
>         Attachments: TRINIDAD-2419_trunk.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> We have been seeing issues with our automated tests failing in a farm 
> environment due to a valid FacesContext not being available for a request, 
> particularly for a request for a resource. The logs show the following errors 
> when this happens:
> FacesContext: com.sun.faces.config.InitFacesContext@1b5e765
> ServletContext: null
> java.lang.NullPointerException
> at 
> org.apache.myfaces.trinidadinternal.resource.CoreRenderKitResourceLoader.getLocale(CoreRenderKitResourceLoader.java:87)
> at 
> org.apache.myfaces.trinidadinternal.resource.CoreRenderKitResourceLoader.getLocaleElementsURI(CoreRenderKitResourceLoader.java:76)
> at 
> org.apache.myfaces.trinidadinternal.resource.LocaleElementsResourceLoader._getLibraries(LocaleElementsResourceLoader.java:103)
> at 
> org.apache.myfaces.trinidadinternal.resource.LocaleElementsResourceLoader.getURL(LocaleElementsResourceLoader.java:69)
> at 
> org.apache.myfaces.trinidadinternal.resource.LocaleElementsResourceLoader.findResource(LocaleElementsResourceLoader.java:55)
> at 
> org.apache.myfaces.trinidad.resource.ResourceLoader.getResource(ResourceLoader.java:67)
> at 
> org.apache.myfaces.trinidad.resource.RegexResourceLoader.findResource(RegexResourceLoader.java:69)
> at 
> org.apache.myfaces.trinidad.resource.ResourceLoader.getResource(ResourceLoader.java:67)
> at 
> org.apache.myfaces.trinidad.resource.CachingResourceLoader.findResource(CachingResourceLoader.java:74)
> at 
> org.apache.myfaces.trinidad.resource.ResourceLoader.getResource(ResourceLoader.java:67)
> at 
> org.apache.myfaces.trinidad.webapp.ResourceServlet.getLastModified(ResourceServlet.java:260)
> at avax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
> at 
> org.apache.myfaces.trinidad.webapp.ResourceServlet.service(ResourceServlet.java:170)
> at 
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
> at 
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
> at 
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
> at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
> at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
> at java.security.AccessController.doPrivileged(Native Method)
> at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
> at 
> oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
> at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
> at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
> at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
> We could trace this back to some variant of the following implementation 
> issue in Mojarra runtime.
> https://java.net/jira/browse/JAVASERVERFACES-2533
> The issue is that the FacesContext is not being cleaned up properly, so new 
> requests could get hold of an invalid but non null FacesContext hanging 
> around.
> A solution for this is for the ResourceServlet to check and see if we have a 
> bogus FacesContext, in which case, discard it and recreate a good one. The 
> suggested code change is a simple addition to an existing code that checks 
> for a non-null FacesContext.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to