You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Gerald Turner (JIRA)" <ji...@apache.org> on 2016/12/07 23:01:58 UTC

[jira] [Created] (DELTASPIKE-1226) NPE in DeltaSpikeLifecycleWrapper when OmniFaces 2.5 FullAjaxExceptionHandler

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)