intercept flow leads to java.lang.StackOverflowError

Tom Zeller tzeller at dragonacea.biz
Fri Jan 15 09:19:02 EST 2016


RecordResponseComplete ?

> On Jan 15, 2016, at 8:11 AM, Scott Koranda <skoranda at gmail.com> wrote:
> 
> 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
> -- 
> To unsubscribe from this list send an email to dev-unsubscribe at shibboleth.net


More information about the dev mailing list