<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>We're getting reports that iOS users trying to use Office365 are
getting errors essentially identical to that in IDP-720:</p>
<div class="SourceLine splFont-mono">
<pre>2016-09-16 17:19:47,774 - ERROR [org.opensaml.saml.saml2.binding.encoding.impl.HTTPPostEncoder:175] - Error invoking Velocity template
java.nio.channels.ClosedChannelException: null
at org.eclipse.jetty.util.IteratingCallback.close(IteratingCallback.java:427)</pre>
</div>
<div class="SourceLine splFont-mono">
<pre>2016-09-16 17:19:47,778 - ERROR [org.opensaml.profile.action.impl.EncodeMessage:159] - Profile Action EncodeMessage: Unable to encode outbound response
org.opensaml.messaging.encoder.MessageEncodingException: Error creating output document
at org.opensaml.saml.saml2.binding.encoding.impl.HTTPPostEncoder.postEncode(HTTPPostEncoder.java:176)
Caused by: java.nio.channels.ClosedChannelException: null
at org.eclipse.jetty.util.IteratingCallback.close(IteratingCallback.java:427)</pre>
</div>
<div class="SourceLine SourceLineHL splFont-mono">
<pre>2016-09-16 17:19:47,779 - ERROR [java.lang.RuntimeException:76] -
java.lang.RuntimeException: java.lang.IllegalStateException: You can only resume paused view states, and state [EndState@2cd4c0e1 id = 'ErrorView', flow = 'SAML2/POST/SSO', entryActionList = list[[AnnotatedAction@62fade02 targetAction = [EvaluateAction@4c346cb0 expression = environment, resultExpression = requestScope.environment], attributes = map[[empty]]], [AnnotatedAction@18648888 targetAction = [EvaluateAction@123d80ad expression = opensamlProfileRequestContext, resultExpression = requestScope.profileRequestContext], attributes = map[[empty]]], [AnnotatedAction@26034626 targetAction = [EvaluateAction@49bdffba expression = T(net.shibboleth.utilities.java.support.codec.HTMLEncoder), resultExpression = requestScope.encoder], attributes = map[[empty]]], [AnnotatedAction@75210ecd targetAction = [EvaluateAction@be7d02c expression = flowRequestContext.getExternalContext().getNativeRequest(), resultExpression = requestScope.request], attributes = map[[empty]]], [AnnotatedAction@37e98500 targetAction = [EvaluateAction@118ffc68 expression = flowRequestContext.getExternalContext().getNativeResponse(), resultExpression = requestScope.response], attributes = map[[empty]]], [AnnotatedAction@6ca5dff2 targetAction = [EvaluateAction@597614fa expression = flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.CustomViewContext') ? flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.CustomViewContext') : null, resultExpression = requestScope.custom], attributes = map[[empty]]]], exceptionHandlerSet = list[net.shibboleth.idp.profile.impl.RethrowingFlowExecutionExceptionHandler@224c5b51], finalResponseAction = org.springframework.webflow.action.ViewFactoryActionAdapter@239106b0, outputMapper = [null]] is not a view state - programmer error
at net.shibboleth.idp.profile.impl.RethrowingFlowExecutionExceptionHandler.handle(RethrowingFlowExecutionExceptionHandler.java:40)
Caused by: java.lang.IllegalStateException: You can only resume paused view states, and state [EndState@2cd4c0e1 id = 'ErrorView', flow = 'SAML2/POST/SSO', entryActionList = list[[AnnotatedAction@62fade02 targetAction = [EvaluateAction@4c346cb0 expression = environment, resultExpression = requestScope.environment], attributes = map[[empty]]], [AnnotatedAction@18648888 targetAction = [EvaluateAction@123d80ad expression = opensamlProfileRequestContext, resultExpression = requestScope.profileRequestContext], attributes = map[[empty]]], [AnnotatedAction@26034626 targetAction = [EvaluateAction@49bdffba expression = T(net.shibboleth.utilities.java.support.codec.HTMLEncoder), resultExpression = requestScope.encoder], attributes = map[[empty]]], [AnnotatedAction@75210ecd targetAction = [EvaluateAction@be7d02c expression = flowRequestContext.getExternalContext().getNativeRequest(), resultExpression = requestScope.request], attributes = map[[empty]]], [AnnotatedAction@37e98500 targetAction = [EvaluateAction@118ffc68 expression = flowRequestContext.getExternalContext().getNativeResponse(), resultExpression = requestScope.response], attributes = map[[empty]]], [AnnotatedAction@6ca5dff2 targetAction = [EvaluateAction@597614fa expression = flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.CustomViewContext') ? flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.CustomViewContext') : null, resultExpression = requestScope.custom], attributes = map[[empty]]]], exceptionHandlerSet = list[net.shibboleth.idp.profile.impl.RethrowingFlowExecutionExceptionHandler@224c5b51], finalResponseAction = org.springframework.webflow.action.ViewFactoryActionAdapter@239106b0, outputMapper = [null]] is not a view state - programmer error
at org.springframework.webflow.engine.Flow.getCurrentViewState(Flow.java:633)</pre>
</div>
<div class="SourceLine splFont-mono">
<pre>2016-09-16 17:19:47,780 - ERROR [java.lang.RuntimeException:76] -
java.lang.RuntimeException: java.lang.IllegalStateException: Exception occurred rendering view org.springframework.web.servlet.view.velocity.VelocityView: name 'error'; URL [error.vm]
at net.shibboleth.idp.profile.impl.RethrowingFlowExecutionExceptionHandler.handle(RethrowingFlowExecutionExceptionHandler.java:40)
Caused by: java.lang.IllegalStateException: Exception occurred rendering view org.springframework.web.servlet.view.velocity.VelocityView: name 'error'; URL [error.vm]
at org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:200)
Caused by: java.lang.IllegalStateException: STREAM
at org.eclipse.jetty.server.Response.getWriter(Response.java:887)</pre>
</div>
IDP-720 calls out keepalives as a potential source, and I know we've
seen problems with IdP2 (specifically ArcGIS) when Apache had
keepalives enabled.
<p>Will keep digging and see if we can identify any commonalities.
It does seem odd that a ClosedChannelException would still allow
the error view to actually render so the end user sees it in their
browser.<br>
</p>
<pre class="moz-signature" cols="72">--
%% Christopher A. Bongaarts %% <a class="moz-txt-link-abbreviated" href="mailto:cab@umn.edu">cab@umn.edu</a> %%
%% OIT - Identity Management %% <a class="moz-txt-link-freetext" href="http://umn.edu/~cab">http://umn.edu/~cab</a> %%
%% University of Minnesota %% +1 (612) 625-1809 %%
</pre>
</body>
</html>