tcpexmachina / remy

403 stars 78 forks source link

Single congestion signal error #38

Closed rongil closed 8 years ago

rongil commented 8 years ago

When using only one congestion signal, the following assertion error occurs after some time regardless of the network parameters (not exhaustively tested):

remy: memoryrange.cc:25: std::vector<MemoryRange> MemoryRange::bisect() const: Assertion '!(ersatz_lower == x._upper)' failed.

It seems to proceed normally without this assertion, although I am unsure of the implications.

keithw commented 8 years ago

Hmm, this is probably worth investigating. It suggests you are somehow ending up with a degenerate rule that has no width. But I'm not 100% sure.

(1) What is the initial WhiskerTree that you are starting the optimization from? (2) When the assertion failure occurs, what is that MemoryRange that is causing the failure?

Since all of our congestion signals are floating-point numbers, I don't quite understand how this is happening.

rongil commented 8 years ago

Sorry for the delay in getting back to you on this.

After looking through the code more carefully I believe this was caused by a misunderstanding on my part. I was manually modifying sections of memory.cc and memory.hh rather than modifying the active axis in memoryrange.