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 <Signals.SIGABRT: 6>.
# 解决方法:
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 <<std::endl;
// std::cout << "m_buffer.GetSize () - (m_offset + smallItem.size) delta: " << delta <<std::endl;
//m_buffer.GetSize (): 102 m_offset: 118 smallItem.size: 4
//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 <<std::endl;
NS_ASSERT (m_current >= delta);
m_current -= delta;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2021-06-27 attempting to obtain a c/c++ compiler on precise puppy linux