Subject: [boost] [msm] Event deferring causes stack overflow
From: Richard Szabo (sz.richard_at_[hidden])
Date: 2010-11-09 09:18:19
We have found a serious problem in msm back end for event deferring.
I case there is a composite state and the outer state machine defers 2
events when it is in the composite state, the 1st event deferred fine
in the deferred queue of the outer state machine.
Than the 2nd event is processed and this is deferred as well as a part
of this deferral msm back end dispatches the 1st event but it is still
deferred and saved again in the deferred queue but than msm processes
the deferred queue again as an action of the deferral of the 1st event
and dispatches the 2nd event again which is deferred and the cycle
repeats itself until the system runs out of call stack.
please find the code to reproduce the problem in attachment.
thanks for the help in advance.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk