Flow expression failing on exit from login form
Description
Environment
Attachments
Activity
Scott Cantor December 10, 2018 at 3:28 PM
Cherry-picked back to maint-3.4
Scott Cantor December 3, 2018 at 4:47 PM
The proposed changes to the flows seem to have eliminated these errors, so I can conclude that referencing a viewScope variable at the transition out of the view appears to be an unsupported approach that behaves unpredictably. So we won't do that.
I'll backport this if we ever do a 3.4.2 (which I imagine we will).
Scott Cantor November 26, 2018 at 7:29 PM
I had applied this change to the wrong branch of the flow, but I corrected that a couple of weeks ago and it's been running clean since. Traffic has been light with the holiday but so far it would suggest there's a SWF bug that we can work around, and probably need to revisit any other on-exit cases in the source.
Scott Cantor November 6, 2018 at 2:34 PM
I applied this change myself last evening, I'll monitor rest of today. Once I confirm the same errors are appearing I'll revisit.
Scott Cantor November 1, 2018 at 11:04 PM
The meaningless patch is attached. It should be impossible for this to make a difference, and I have no other idea how it could be fixed.
The patch supposes that the viewscope variables created during view setup are randomly and inconsistently missing/unavailable during the exit out of the view, despite clearly being there most of the time.
Whatever this is must be a SWF bug, I would say. The alternative will be to come up with a different way to execute that line of code.
Multiple reports of an error in the password flow:
org.springframework.binding.expression.EvaluationException: An ELException occurred getting the value for expression 'authenticationContext.setAttemptedFlow(thisFlow)' on context [class org.springframework.webflow.engine.impl.RequestControlContextImpl]
Need to see if I can reproduce through just a timeout. I could try replacing the expression with a full reference to the root of the PRC but I can't see that fixing it.