When the code is run, I find that there is an error, and then I use gdb command to debug the code.
When I debug the code, the last line "enbLteDevs = lteHelper->InstallEnbDevice(enbNodes);" in LteController::InitLTE() {} of vmasc-lte integration.cc
encountered an error as follow:
"msg="AddUeMeasReportConfig may not be called after the simulation has run", file=../src/lte/model/lte-enb-rrc.cc, line=1936 terminate called without an active exception."
The call sequence of the code is:
Simulator::Schedule (Seconds (55.0), &Start, roads);
-----> enbLteDevs = lteHelper->InstallEnbDevice(enbNodes); in LteController::InitLTE(){} in your vmasc-lte integration.cc
-----> Ptr<NetDevice> device = InstallSingleEnbDevice (node); in the fuction LteHelper::InstallEnbDevice (NodeContainer c) {} in lte-helper.cc
-----> dev->Initialize (); in the function Ptr<NetDevice> LteHelper::InstallSingleEnbDevice (Ptr<Node> n) in lte-helper.cc
-----> current->DoInitialize (); in the function void Object::Initialize (void){} in Object.cc
-----> m_measId = m_anrSapUser->AddUeMeasReportConfigForAnr (reportConfig); in void LteAnr::DoInitialize (){} in lte-anr.cc
-----> return m_owner->DoAddUeMeasReportConfigForAnr (reportConfig); in MemberLteAnrSapUser<C>::AddUeMeasReportConfigForAnr (LteRrcSap::ReportConfigEutra reportConfig){} in lte-anr-sap.h
-----> uint8_t measId = AddUeMeasReportConfig (reportConfig); in uint8_t LteEnbRrc::DoAddUeMeasReportConfigForAnr (LteRrcSap::ReportConfigEutra reportConfig){} in lte-enb-rrc.cc
--- ->
if (Simulator::Now () != Seconds (0))
{
NS_FATAL_ERROR ("AddUeMeasReportConfig may not be called after the simulation has run");
}
in uint8_t LteEnbRrc::AddUeMeasReportConfig (LteRrcSap::ReportConfigEutra config){} in lte-enb-rrc.cc.
Because you call the start() Simulator::Schedule (Seconds (55.0), &Start, roads), the Simulation::Now()==55 !=Seconds(0), thus NS_FATAL_ERROR ("AddUeMeasReportConfig may not be called after the simulation has run");
Please help me to solve this problem, I have got stuck here for a long time.
Can anyone give me some advice? I wanna to known whether the code "enbLteDevs = lteHelper->InstallEnbDevice(enbNodes); in the function LteController::InitLTE() {} of vmasc-lte integration.cc " should be called at Seconds(0) or not? Or there are some problems that I ignore?
Thanks & Best Regards,
BAO Haizhou