tcpexmachina/remy

Single congestion signal error

Closed this issue · 2 comments

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.

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.

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.