Bugzilla – Bug 2515
Byte tags cause a crash when calling Packet->AddAtEnd() for large packets.
Last modified: 2016-10-04 10:55:34 UTC
I encountered this bug when running a TCP experiment where I had added Byte Tags to my packets. On recovering from a large slew of drops, a large amount of packets are available to be read by the Application layer, and TcpRxBuffer aggregates them into one large packet. But Packet->AddAtEnd() throws an assertion failure due to the byte tags. The problem is the 16 bit used size in ByteTagList, which wraps around for large packets and causes an assertion failure in TagBuffer::ReadU8. See patch for fix (namely changing uint16_t to uint32_t).
Created attachment 2604 [details] Patch for byte tag list
Created attachment 2605 [details] Byte tag list fix.
Whoops I guess this is a duplicate of Bug #2069 which has been fixed in ns-3-dev already. *** This bug has been marked as a duplicate of bug 2069 ***