Bug 2911 - Binary exponential backoff unlimmited counts problem
Binary exponential backoff unlimmited counts problem
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: aodv
ns-3.26
PC Linux
: P3 critical
Assigned To: ns-bugs
: bug
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-04-14 21:36 UTC by xinwf
Modified: 2018-05-13 05:05 UTC (History)
1 user (show)

See Also:


Attachments
It is some screenshots when this error happens. (383.24 KB, application/x-rar)
2018-04-14 21:36 UTC, xinwf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description xinwf 2018-04-14 21:36:08 UTC
Created attachment 3093 [details]
It is some screenshots when this error happens.

I find this problem when I try to do my simulations with aodv routing protocol, I set the simulation time 300s, sometimes it will ends my simulation in seconds, sometimes it takes long time to trigger this error, I have debug it in gdb, the error is in the attachment, with others help, I locate the position that triggers this error, it is at 1104 rows in src/aodv-routing-protocol.cc, when I add an if statement to limit the value of rt.GetRreqCnt () - 1, the program can runn correctly. This problem exists in ns3.26/ns3.27/ns3.28/ns3dev at least(I use ns3 simulation from 3.26 version, I hadn't checked other older version), as you can see in the attachment, I have tested my program with ns3.26 and ns3.28, in fact, I also have tested it with ns3dev. it is strange that when I also used aodv to do simulations last year, it happens incidently, very few times, and now it almost happens every time I run my program, maybe due to the node's movement. I can't give a certain simulation scene or script to demonstrate it will must happen, because the backoff times is not sure, but the realization of Binary exponential backoff is really a logic problem, in Binary exponential backoff algorithm, it has a limmitation about backoff exponential number, when it overs the limmitation, the backoff exponential number is a constant, when it overs another limmitation, it will stop the retry behaviors. What I can make sure is that this will happen in a frequently dynamic changed network with a high probability.

Hope that you can fix this problem
Comment 1 Tom Henderson 2018-04-26 13:24:37 UTC
Hi, this may be a duplicate of a bug that exists in our tracker (2517).

Can you please try this patch and let us know if it fixes?

https://www.nsnam.org/bugzilla/attachment.cgi?id=2710&action=diff
Comment 2 xinwf 2018-05-13 05:05:53 UTC
(In reply to Tom Henderson from comment #1)
> Hi, this may be a duplicate of a bug that exists in our tracker (2517).
> 
> Can you please try this patch and let us know if it fixes?
> 
> https://www.nsnam.org/bugzilla/attachment.cgi?id=2710&action=diff

Ok, thank you, I think this has fixed the problem.