check_and_cast() nullptr in LteHarqBufferRxD2D constructor after previous eNB detachment
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 235
- Forks
- 116
- PR merge metrics
- No merged PRs in 30d
Description
Setup:
Multi eNB setup (5) with ~250 UE's manged by Sumo using D2D communication and dynamicCellAssociation = true as well as enableHandover = true.
Problem:
The error occurs when one node leaves the serving area of all eNB which will trigger a handover detachment without an
attachment to a new cell . This will lead to cellId_ = 0 in the LteMacBase class. If shortly after a DATAPKT frame arrives from a newly not seen before source, a new LteHarqBufferRxD2D object is created which tries to access the serving cell (which is cellId_ =0 --> nullptr) to configure the macCellThroughputD2D_ signal. This will lead to a nullptr an will throw an exception.
Additionally already existing buffers will use the wrong eNB to emit there statistic values which will lead to incorrect throughput
measurements.
The statistic is used in extractCorrectPdus() where a check could be added to only trigger the signal emit call if
the node is actually connected to a eNB. However does it make sense to have a LteHarqBufferRxD2D buffer in D2D Sidelink
communication in mode 3 which relies on eNB support for resource allocation.
QuickFix:
If the simulation scenario allows the addition of extra eNB's to ensure all nodes are allays in coverage this error
will not occur.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the LteHarqBufferRxD2D constructor in src/stack/mac/buffer/harq_d2d/LteHarqBufferRxD2D.cc and the cell lookup in src/stack/mac/layer/LteMacBase.cc. Then inspect extractCorrectPdus() in the same buffer file to understand how throughput signals are emitted after detachment. Done means detached nodes no longer trigger a nullptr exception and existing buffers do not report statistics through the wrong eNB.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100