[Click] Queue overflow bug?

Ian Rose ianrose at eecs.harvard.edu
Wed May 5 14:07:00 EDT 2010


Hi -

I think I have found a bug in the Queue element, although this would 
surprise me considering how often this element is used by people...

line 126 of fullnotequeue.hh (in the push_failure method) kills the 
packet regardless instead of calling "checked_output_push(1, p)" like 
the other queue implementations do (e.g. line 165 of simpleeueue.cc).

Am I missing something?
- Ian


Here is a config that demonstrates the problem (sorry about the 
weirdness with the Unqueue elements - I'm not sure if there is a simpler 
way to make this happen):

InfiniteSource(\<0800>, LIMIT 20) -> Unqueue -> q::Queue(10) -> 
Unqueue(ACTIVE false) -> Discard;
q[1] -> Script(TYPE PACKET, print "I see a drop", return 0) -> Discard;

If you run this you should ONLY see "q :: Queue: overflow", but if you 
change q to a SimpleQueue instead, then you should see:

q :: SimpleQueue: overflow
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop


More information about the click mailing list