In the NeighborListNeighborCache::removeRadioFromNeighborLists(const IRadio *radio) function:
line 133 neighborVector.erase(it); just deletes the radio from the temporary vector declared in
line 130 Radios neighborVector = elem->neighborVector;
It seems the vector elem->neighborVector does not have any actual change after running the function. Potentially leading to the Simulation terminated with exit code: 139 error after dynamically module deletion during the simulation.
Adding elem->neighborVector = neighborVector; after line 133 will fix this issue in my own testing (in version inet-4.2.5-e0c1741924).
Issue Description:
In the NeighborListNeighborCache::removeRadioFromNeighborLists(const IRadio *radio) function: line 133
neighborVector.erase(it);
just deletes the radio from the temporary vector declared in line 130Radios neighborVector = elem->neighborVector;
It seems the vector
elem->neighborVector
does not have any actual change after running the function. Potentially leading to theSimulation terminated with exit code: 139
error after dynamically module deletion during the simulation.Adding
elem->neighborVector = neighborVector;
after line 133 will fix this issue in my own testing (in version inet-4.2.5-e0c1741924).