NS3 --- ns-3.36.1 --- assert failed. cond="m_current >= delta"
# 错误
[root@ztg ns-3.36.1]# ./ns3 run scratch-paper2-lte-wifi
create nodes
assert failed. cond="m_current >= delta", +20.799092640s 9 file=/opt/ns3/ns-allinone-3.36.1/ns-3.36.1/build/include/ns3/buffer.h, line=865
terminate called without an active exception
Command 'build/scratch/ns3.36.1-scratch-paper2-lte-wifi-debug' died with
# 解决方法:
gedit ./src/network/model/packet-metadata.cc
PacketMetadata::ItemIterator::Next (void)
{
//ztg
int delta;
//ztg
// item.current.Prev (m_buffer.GetSize () - (m_offset + smallItem.size));
//----------------------------------------------------------------------------------------------------
delta = m_buffer.GetSize () - (m_offset + smallItem.size);
// std::cout << "m_buffer.GetSize (): " << m_buffer.GetSize () << " m_offset: " << m_offset << " smallItem.size: " << smallItem.size <
//m_buffer.GetSize () - (m_offset + smallItem.size) delta: 4294967276
if (delta > 0) item.current.Prev (delta);
else item.current.Prev (0);
//----------------------------------------------------------------------------------------------------
}
gedit build/include/ns3/buffer.h
void
Buffer::Iterator::Prev (uint32_t delta)
{
// std::cout << "m_current: " << m_current << " delta: " << delta <
NS_ASSERT (m_current >= delta);
m_current -= delta;
}