Bug 1750 - WiMAX module with On-Off application (TCP and UDP) gives rw buffer assertion.
WiMAX module with On-Off application (TCP and UDP) gives rw buffer assertion.
Status: NEW
Product: ns-3
Classification: Unclassified
Component: wimax
ns-3.16
PC All
: P5 major
Assigned To: Flavio Kubota
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-09 17:15 EDT by ghasem.naddaf
Modified: 2014-05-27 07:00 EDT (History)
3 users (show)

See Also:


Attachments
testcase (13.68 KB, text/plain)
2013-08-11 18:58 EDT, ghasem.naddaf
Details
testcase clean (7.89 KB, text/x-c++src)
2013-08-11 19:02 EDT, ghasem.naddaf
Details

Note You need to log in before you can comment on or make changes to this bug.
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)