Bug 1750

Summary: WiMAX module with On-Off application (TCP and UDP) gives rw buffer assertion.
Product: ns-3 Reporter: ghasem.naddaf
Component: wimaxAssignee: Flavio Kubota <kubota>
Status: NEW ---    
Severity: major CC: muni_es, ns-bugs, tomh
Priority: P5    
Version: ns-3.16   
Hardware: PC   
OS: All   
Attachments: testcase
testcase clean

Description ghasem.naddaf 2013-08-09 17:15:54 EDT
Hi,

I am using wimax net device along with on-off application using TCP and UDP protocols. 

After around 5 seconds of simulations, I get the following error:
(before t=5, everything is normal, the devices are able to send and receive a couple of packets):

assert failed. cond="m_current >= m_dataStart && m_current <= m_dataEnd", msg="You have attempted to read beyond the bounds of the available buffer space. This usually indicates that a Header::Deserialize or Trailer::Deserialize method is trying to read data which was not written by a Header::Serialize or Trailer::Serialize method. In short: check the code of your Serialize and Deserialize methods.", file=./ns3/buffer.h, line=823
terminate called without an active exception

I have not modified any serialize or deserialize or buffer functions.
This happens if I use UGS traffic type with either UDP or TCP protocols, or when I use RTPS with TCP. But it does not happen for example for RTPS with UDP. 

Please confirm if this is a wimax or TCP bug.


Thanks
Ghasem
Comment 1 Tom Henderson 2013-08-11 10:05:56 EDT
(In reply to comment #0)
> Hi,
> 
> I am using wimax net device along with on-off application using TCP and UDP
> protocols. 
> 
> After around 5 seconds of simulations, I get the following error:
> (before t=5, everything is normal, the devices are able to send and receive a
> couple of packets):
> 
> assert failed. cond="m_current >= m_dataStart && m_current <= m_dataEnd",
> msg="You have attempted to read beyond the bounds of the available buffer
> space. This usually indicates that a Header::Deserialize or
> Trailer::Deserialize method is trying to read data which was not written by a
> Header::Serialize or Trailer::Serialize method. In short: check the code of
> your Serialize and Deserialize methods.", file=./ns3/buffer.h, line=823
> terminate called without an active exception
> 
> I have not modified any serialize or deserialize or buffer functions.
> This happens if I use UGS traffic type with either UDP or TCP protocols, or
> when I use RTPS with TCP. But it does not happen for example for RTPS with UDP. 
> 
> Please confirm if this is a wimax or TCP bug.
> 
> 
> Thanks
> Ghasem


Are you able to post a test case?
Comment 2 ghasem.naddaf 2013-08-11 18:58:14 EDT
Created attachment 1655 [details]
testcase

A testcase showing buffer assertion failure with UDP UL/DL with UGS.

./waf --run "src/wimax/examples/wimax-simple-test-RTPS-UGS -DL=1 -UL=1 
-duration=7 -sched=4 -NUDP=60" 
works fine (RTPS sched)

but


./waf --run "src/wimax/examples/wimax-simple-test-RTPS-UGS -DL=1 -UL=1 
-duration=7 -sched=6 -NUDP=4" 
fails (UGS sched)
Comment 3 ghasem.naddaf 2013-08-11 19:02:05 EDT
Created attachment 1656 [details]
testcase clean

Clean up of the previous attachment: deleted unnecessary parts.

./waf --run "src/wimax/examples/wimax-simple-test-RTPS-UGS -DL=1 -UL=1 -duration=7 -sched=4 -NUDP=4"
works fine (RTPS).

./waf --run "src/wimax/examples/wimax-simple-test-RTPS-UGS -DL=1 -UL=1 -duration=7 -sched=6 -NUDP=4"
fails (UGS)