Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost.MSM cc1plus.exe:: error: out of memory allocating 65532
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2013-03-04 15:35:28


>>Are you talking about the added compile time of 5 modules or does the
>>parallel build take 01:50min?
>
> The complete compilation time with two parallel processes takes without
> policy 01:10min and with policy it takes 01:50min.

Ok, with 2 processes, yes, it might be.

> Okay Christophe, I just think, there is no workaround for me to keep the
> slave machine and the master machine in one dll: The memory problem is
> gone
> ( in case I use the favor_compile_time policy),

I also think it's better to separate. When the compiler comes close to the
breaking point, the next problem is not far anyway.

>but now I receive "bad reloc
> address in section xyz" messages from the linker regarding the object
> files
> of the master and slave state machines (which are compiled in their own
> TU's.)

> Here is the failure message:
>
> *ld.exe:
> src\TransportLayer\Statemachine\EventDispatcher\SlaveEventDispatcher.o:
> bad
> reloc address 0x45 in section
> `.text$_ZN5boost3msm4back14dispatch_tableINS1_13state_machineI18SlaveStateMachine_NS1_18favor_compile_timeENS_9parameter5void_ES7_S7_EENS_3mpl6v_itemINS8_5_row_INS0_5front3RowINS3_I23CStateSlaveHandshaking_S5_S7_S7_S7_E7exit_ptINSE_29ExitPointHandshakingSucceededEEENSC_4noneENS3_I23CStateSlaveOperational_S5_S7_S7_S7_EESJ_SJ_EEEENSA_INSB_INSD_INSL_7exit_ptINSK_28ExitPointMasterHeartbeatLostEEESJ_SF_SJ_SJ_EEEENSA_INS8_6a_row_INSD_INS4_12StateNoErrorE15EventFatalErrorNS4_14StateTerminateEN11ActionError11ReportErrorESJ_EEEENSA_INST_INSD_ISU_17EventNoTransitionSU_NSX_18ReportNoTransitionESJ_EEEENS9_7vector0IN4mpl_2naEEELi1EEELi1EEELi1EEELi1EEE15EventInitFailedS5_E15call_submachineISL_EENS1_11HandledEnumERS8_iiRKS1D_[__ZN5boost3msm4back14dispatch_tableINS1_13state_machineI18SlaveStateMachine_NS1
> _18favor_compile_timeENS_9parameter5void_ES7_S7_EENS_3mpl6v_itemINS8_5_row_INS0_5front3Ro_?I'*

Hmmm, never seen this. I'd be surprised if it was a msm bug. Usually, msm
bugs are at the compiler level. But I have seen many strange linker problems
when coming to the limit, yes.

> ...splitting the master and slave state machines into two different dlls
> produces no problems.

This confirms what I thought.

> Hmm, I was thinking, if you would be interested to take a look at my code.
> I
> can send it to you via personal mail etc.. Maybe there is a bug in the use
> of your library or what ever...

I can have a look. It could take a few days before I can look thoughly
though, but I might be able to give you a few tips.
You know my email address ;-)

> BR,
>
> Rafael

Cheers,
Christophe


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