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)