intercept flow leads to java.lang.StackOverflowError
Scott Koranda
skoranda at gmail.com
Fri Jan 15 09:11:55 EST 2016
Hi,
I am using IdP 3.2.1.
I have a simple intercept flow that I configured for a
particular relying party. It uses the
net.shibboleth.idp.profile.logic.SimpleAttributePredicate
to check for a particular value of an attribute and if found
it should diplay a custom error page and the flow should stop
(no response to the SP).
The simple flow is
<decision-state id="MyTest">
<if test="MyTest.apply(opensamlProfileRequestContext)" then="MyEvent" else="proceed" />
</decision-state>
<action-state id="MyEvent">
<evaluate expression="'MyEvent'"/>
</action-state>
I then eddited errors.xml and added
<entry key="MyEvent" value="true" />
to shibboleth.LocalEventMap and
<entry key="MyEvent" value="my-event" />
to shibboleth.EventViewMap
Is there anything else I need to do to "properly" end the SSO
flow at MyEvent and display my-event.vm?
I ask because when the attribute condition fires and I walk
into the intercept flow I wind up with a
java.lang.StackOverflowError.
The last DEBUG entry in the log file is
DEBUG [net.shibboleth.idp.profile.logic.AbstractAttributePredicate:97] - Context satisfied requirements
and that line is right after
net.shibboleth.idp.profile.logic.SimpleAttributePredicate:130
logging that it found the matching attribute value.
The stack trace has this recursion in it:
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:552)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:552)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
<snip>
Thanks,
Scott K
More information about the dev
mailing list