Boost MSM : Virtual Memory Exhausted: cannot allocate memory

Hello, I am using boost Meta - state machine. I have 19 state which is compiling ok. but whn i incease the number of state transition in Transition table(using internal_transition_table) i get this error: *"Virtual Memory Exhausted: cannot allocate memory"* * * * *Has anyone has face the same problem?? Regards Rahul

Which compiler is it? Also, which build mode? 32bit or 64bit?

32bit. Turns out that, if number of *rows* in
*internal_transition_table* islarge it throws this error. After
replacing with
*transition_table* it compiles large number of *rows*.
Any particular reason??
On Fri, Oct 4, 2013 at 6:14 PM, Klaim - Joël Lamotte
Which compiler is it? Also, which build mode? 32bit or 64bit?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

I have tried using *transition_table *inside a *state *and its is not
possible to have transition. But i am able to compile. If i use
*internal_transition_table
*then the maximum number of rows is limited to around 120.
Any solutions??
On Fri, Oct 4, 2013 at 6:26 PM, rahul baruah
32bit. Turns out that, if number of *rows* in *internal_transition_table* is large it throws this error. After replacing with *transition_table* it compiles large number of *rows*.
Any particular reason??
On Fri, Oct 4, 2013 at 6:14 PM, Klaim - Joël Lamotte
wrote: Which compiler is it? Also, which build mode? 32bit or 64bit?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

Hello,
I am using boost Meta - state machine. I have 19 state which is compiling ok. but whn i incease the number of state transition in Transition table(using internal_transition_table) i get >this error: "Virtual Memory Exhausted: cannot allocate memory"
Has anyone has face the same problem??
Regards Rahul
Hi, It's hard to answer without seeing code. How large is the compiler process? At the limit of what a 32-bit system can allocate? And which compiler are you using?
I have tried using transition_table inside a state and its is not possible to have transition. But i am able to compile. If i use internal_transition_table then the maximum number of rows > is limited to around 120.
Well, internal_transition_table is more expensive than a simple transition_table because MSM is forced to create rows in the transition table for all rows in the internal_ version. 120 is pretty large, it's enough to kill many compilers, first to go would be VC and older version of gcc. If I get the code I can try it on onther compilers or on a 64-bit system. MSM is still quite hard on the compilers and with 120 transitions, I bet you're at the limit of what the system can allocate. Regards, Christophe
participants (3)
-
Christophe Henry
-
Klaim - Joël Lamotte
-
rahul baruah