Gerald Turner created DELTASPIKE-1226:
-----------------------------------------

             Summary: NPE in DeltaSpikeLifecycleWrapper when OmniFaces 2.5 
FullAjaxExceptionHandler
                 Key: DELTASPIKE-1226
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1226
             Project: DeltaSpike
          Issue Type: Wish
          Components: JSF-Module
    Affects Versions: 1.7.2
         Environment: JBoss EAP 7.0.3.GA; DeltaSpike 1.7.2; OmniFaces 2.5.1; 
PrimeFaces 6.0.7
            Reporter: Gerald Turner
            Priority: Minor


I have a JSF application with web.xml declaring an error page, and I am using 
[OmniFaces 
FullAjaxExceptionHandler|http://showcase.omnifaces.org/exceptionhandlers/FullAjaxExceptionHandler]
 to render failed AJAX requests with the error page.

Since upgrading to OmniFaces 2.5.1 the application has been having 
NullPointerExceptions in DeltaSpikeLifecycleWrapper when 
FullAjaxExceptionHandler performs it's error page rendering. Triggering the 
so-called "Error in error page itself" condition.

I believe [OmniFaces commit 
59459007|https://github.com/omnifaces/omnifaces/commit/5945900731da60f609d7dd36f0fe28ce3f26edbf]
 is the culprit.

I've breakpointed at the NullPointerException thrown in 
DeltaSpikeLifecycleWrapper#render and found that none of the fields like 
_contextExtension_ have been initialized.

Downgrading to OmniFaces 2.4 works around the issue.

Stacktrace:
{noformat}
2016-12-07 14:26:25,581 SEVERE 
[org.omnifaces.exceptionhandler.FullAjaxExceptionHandler] (default task-100) 
FullAjaxExceptionHandler: Well, another exception occurred during rendering 
error page '/csst/error.jsf'. Trying to render a hardcoded error page now.: 
java.lang.NullPointerException
        at 
org.apache.deltaspike.jsf.impl.listener.request.DeltaSpikeLifecycleWrapper.render(DeltaSpikeLifecycleWrapper.java:115)
 [deltaspike-jsf-module-impl-1.7.2.jar:1.7.2]
        at 
javax.faces.lifecycle.LifecycleWrapper.render(LifecycleWrapper.java:92) 
[jboss-jsf-api_2.2_spec-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at 
org.apache.deltaspike.jsf.impl.listener.request.JsfClientWindowAwareLifecycleWrapper.render(JsfClientWindowAwareLifecycleWrapper.java:160)
 [deltaspike-jsf-module-impl-1.7.2.jar:1.7.2]
        at 
org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.renderErrorPageView(FullAjaxExceptionHandler.java:536)
 [omnifaces-2.5.1.jar:2.5.1]
        at 
org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handleAjaxException(FullAjaxExceptionHandler.java:411)
 [omnifaces-2.5.1.jar:2.5.1]
        at 
org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handle(FullAjaxExceptionHandler.java:364)
 [omnifaces-2.5.1.jar:2.5.1]
        at 
javax.faces.context.ExceptionHandlerWrapper.handle(ExceptionHandlerWrapper.java:100)
 [jboss-jsf-api_2.2_spec-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at 
org.apache.deltaspike.jsf.impl.exception.control.BridgeExceptionHandlerWrapper.handle(BridgeExceptionHandlerWrapper.java:109)
 [deltaspike-jsf-module-impl-1.7.2.jar:1.7.2]
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) 
[jsf-impl-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 
[jsf-impl-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at 
org.apache.deltaspike.jsf.impl.listener.request.DeltaSpikeLifecycleWrapper.execute(DeltaSpikeLifecycleWrapper.java:89)
 [deltaspike-jsf-module-impl-1.7.2.jar:1.7.2]
        at 
javax.faces.lifecycle.LifecycleWrapper.execute(LifecycleWrapper.java:77) 
[jboss-jsf-api_2.2_spec-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) 
[jboss-jsf-api_2.2_spec-2.2.12.redhat-1.jar:2.2.12.redhat-1]
        at 
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
net.xoint.csst.common.util.SlowRequestFilter.doFilter(SlowRequestFilter.java:113)
 [CSST-war-common-2.12-SNAPSHOT.jar:2.12-SNAPSHOT (local)]
        at 
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 
[undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205) 
[rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
        at 
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 
[undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) 
[undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:266)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:201)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:202)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:109)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41)
 [rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
        at 
org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268) 
[rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
        at 
org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188) 
[rewrite-servlet-2.0.12.Final.jar:2.0.12.Final]
        at 
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 
[undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) 
[undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 [undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)
 [undertow-servlet-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.Connectors.executeRootHandler(Connectors.java:207) 
[undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:802) 
[undertow-core-1.3.25.Final-redhat-1.jar:1.3.25.Final-redhat-1]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[rt.jar:1.8.0_111]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[rt.jar:1.8.0_111]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_111]
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to