[Urgent] Missing UE Context (RNTI) - SIGIOT/ABRT in TransmissionModeConfigurationUpdate

165 views
Skip to first unread message

Ramakrishnan

unread,
Jan 12, 2018, 3:32:49 PM1/12/18
to ns-3-users
Hi, 

I am getting SIGIOT while using the TransmissionModeConfigurationUpdate to set transmission mode to few UEs.

I am using single eNB, and 20 UEs (distributed in the cell) using lena-simple-epc.cc as base. 
The error seems to be associated with missing UE Context. Is there a way to debug?
Also is there a way to check list of RNTIs created so that their transmissionmode can be explicitly set (this is on top of default transmission mode set from configuration)? 

Attach code:
  for (uint16_t i = 0; i < numberOfUEs; i++)
  {
      lteHelper->Attach (ueLteDevs.Get(i), enbLteDevs.Get(0));
      // side effect: the default EPS bearer will be activated
  }

TransmissionModeConfigurationUpdate 
Ptr<LteEnbNetDevice> lteEnbDev = enbLteDevs.Get (0)->GetObject<LteEnbNetDevice> ();
PointerValue ptrval;
lteEnbDev->GetCcMap()[0]->GetAttribute ("FfMacScheduler", ptrval);
Ptr<PfFfMacScheduler> pfsched = ptrval.Get<PfFfMacScheduler> ();
if (pfsched == 0)
{
NS_FATAL_ERROR ("No Pf Scheduler available\n");
}
Simulator::Schedule (Seconds (0.04), &PfFfMacScheduler::TransmissionModeConfigurationUpdate, pfsched, rnti, 2);



Following is the error:
assert failed. cond="it != m_ueMap.end ()", msg="UE manager for RNTI 19 not found", file=../src/lte/model/lte-enb-rrc.cc, line=1922
terminate called without an active exception
Command ['/home/ramakrishnan/iitd/lena/ns-3-allinone/ns-3-dev/build/scratch/lena-simple-epc-multiple', '--numberOfUEs=20'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

BackTrace:
(gdb) bt
#0  0x00007fffeab8b267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007fffeab8ceca in __GI_abort () at abort.c:89
#2  0x00007fffeb6bd06d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fffeb6baee6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007fffeb6baf31 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff57973f2 in ns3::LteEnbRrc::GetUeManager (this=0x777960, rnti=19) at ../src/lte/model/lte-enb-rrc.cc:1922
#6  0x00007ffff57a1c1d in ns3::LteEnbRrc::DoRrcConfigurationUpdateInd (this=0x777960, cmacParams=...) at ../src/lte/model/lte-enb-rrc.cc:2490
#7  0x00007ffff5781240 in ns3::EnbRrcMemberLteEnbCmacSapUser::RrcConfigurationUpdateInd (this=0x777eb0, params=...) at ../src/lte/model/lte-enb-rrc.cc:100
#8  0x00007ffff5961d57 in ns3::LteEnbMac::DoCschedUeConfigUpdateInd (this=0x777170, params=...) at ../src/lte/model/lte-enb-mac.cc:1279
#9  0x00007ffff595790f in ns3::EnbMacMemberFfMacCschedSapUser::CschedUeConfigUpdateInd (this=0x776ed0, params=...) at ../src/lte/model/lte-enb-mac.cc:274
#10 0x00007ffff59a996d in ns3::PfFfMacScheduler::TransmissionModeConfigurationUpdate (this=0x7773a0, rnti=19, txMode=2 '\002')
    at ../src/lte/model/pf-ff-mac-scheduler.cc:2131
#11 0x000000000041e64b in ns3::EventImpl* ns3::MakeEvent<void (ns3::PfFfMacScheduler::*)(unsigned short, unsigned char), ns3::Ptr<ns3::PfFfMacScheduler>, int, int>(void (ns3::PfFfMacScheduler::*)(unsigned short, unsigned char), ns3::Ptr<ns3::PfFfMacScheduler>, int, int)::EventMemberImpl2::Notify() (this=0x8000f0)
    at ./ns3/make-event.h:437
#12 0x00007fffef25795b in ns3::EventImpl::Invoke (this=0x8000f0) at ../src/core/model/event-impl.cc:51
#13 0x00007fffef25ca7a in ns3::DefaultSimulatorImpl::ProcessOneEvent (this=0x76b790) at ../src/core/model/default-simulator-impl.cc:149
#14 0x00007fffef25ce41 in ns3::DefaultSimulatorImpl::Run (this=0x76b790) at ../src/core/model/default-simulator-impl.cc:202
#15 0x00007fffef258b3b in ns3::Simulator::Run () at ../src/core/model/simulator.cc:230
#16 0x00000000004191e5 in main (argc=2, argv=0x7fffffffded8) at ../scratch/lena-simple-epc-multiple.cc:311
(gdb) 



Ramakrishnan S

unread,
Jan 13, 2018, 12:15:27 PM1/13/18
to ns-3-...@googlegroups.com
This is resolved. Just wanted to update the forum.

Observation: the RNTI allocation is NOT sequential. It depends on the random access procedure and when the UE count is higher, the Connection Setup takes time. 

Following code can be used for trace the RRC Connection status of the UEs in the cell (this code is taken from one of the earlier posts on similar topic). In the call back function, we can put a static counter to make sure all the UEs have been assigned an RNTI and then select UEs and change TransmssionMode - by scheduling TransmissionModeConfigurationUpdate.
The applications are started after the TransmissionModeConfigurationUpdate is triggered.
Config::Connect ("/NodeList/*/DeviceList/*/LteEnbRrc/ConnectionEstablished", MakeCallback (&NotifyConnectionEstablishedEnb));
void NotifyConnectionEstablishedEnb (std::string context,
                                uint64_t imsi
,
                                uint16_t cellid
,
                                uint16_t rnti
)
{
  std
::cout << Simulator::Now ().GetSeconds () << " " << context
            
<< " eNB CellId " << cellid
            
<< ": successful connection of UE with IMSI " << imsi
            
<< " RNTI " << rnti
            
<< std::endl;
}

Thanks, 
Rama

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to the Google Groups "ns-3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ns-3-users+unsubscribe@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.



--
-----------------------------------------
S. Ramakrishnan

Reply all
Reply to author
Forward
0 new messages