nyuwireless-unipd / ns3-mmwave

ns-3 module for simulating mmWave-based cellular systems. See https://ieeexplore.ieee.org/document/8344116/ (open access) as a reference.
GNU General Public License v2.0
298 stars 193 forks source link

Assert error after running long time within mmwave-ue-phy.cc #215

Open GitLingling opened 3 years ago

GitLingling commented 3 years ago

After running long time, which I believe it depends on the number of packets sent, I got the assert failure.

assert failed. cond="(nextSf > sfNum && frameNum == nextFrame) || (nextFrame > frameNum && nextSf == 0)", file=../src/mmwave/model/mmwave-ue-phy.cc, line=493
terminate called without an active exception

After examination, I found that the frameNum which is uint16_t reaches 65535, and then the nextFrame is 0, then the assert failure occurs. Is there a fast solution for this?

BTW. I am trying to modify the uint16_t to uint32_t in all related fields, but I found the frameNum uses "unsigned" for all frameNum in following file which is inconsistent with other files. eg.

./model/mmwave-flex-tti-maxrate-mac-scheduler.cc
./model/mmwave-flex-tti-maxweight-mac-scheduler.h

Looking forward to hearing from you.

tnwjd7732 commented 2 years ago

I also met this problem. Is there any progress on this?

pagmatt commented 2 years ago

Usually we do not consider use cases where the simulation time is higher than ~60 seconds, but we can change this if multiple users seem to need such functionality. Expect a patch soon, I will write an update here when it will be done!

tnwjd7732 commented 2 years ago

Thanks pagmatt!!