Boost logo

Boost Users :

Subject: Re: [Boost-users] [statechart] state_machinesend_event assertion fails
From: Andreas Huber (ahd6974-spamboostorgtrap_at_[hidden])
Date: 2013-06-14 16:25:25


> I only call process_event directly from outside the state machine.

> From inside, I do call transit() in a couple of reactions. That's

> how I understood guards were implemented. Maybe I missed something?

As long as you call transit (and its relatives like e.g. terminate) only
from react functions, you're not missing anything.

> Some of

> those transit() calls are to sibling states but most are to an uncle
state (sibling to parent state). I

> never transit() to the same state.

You can transit to any state, even the one you are currently in, so no
problem here either.

> In few state's constructors, I call post_event().

That's fine too.

So far everything seems in order. The only suggestion I have is that you
try to reproduce the problem and then whittle it down to something that you
are comfortable to post or send me by private email. I know this is
sometimes hard, but the statechart internals are such that the library
should exhibit exactly the same behavior when two newly constructed FSMs of
the same type are fed the same events in the same order. So, if possible
log all events and wait for the problem to resurface?

Regards,

Andreas


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net