-
Notifications
You must be signed in to change notification settings - Fork 49
QuicStreamStats::final_size assertion crash #383
Comments
Ok, good to know! I have this check in there for now largely as a debugging aid as I suspected this could happen but hadn't yet been able to trigger the case. The final size should only ever be set once so once we identify the paths where it would be set multiple times we need to add the necessary guards. |
@jasnell I've been playing with GDB I think I found the cause, calling Might I suggest that some of the assertions be ported to stream errors in the future? Servers should not be prone to crashing from incorrect user supplied data. |
Hmm, Doesnt happen 100% of the time without I'll test a build without that assertion and see what happens. |
Fantastic. Ok. Are you able to provide a test case that at least triggers it some of the time? I can refine it down from there. And yes, some of the asserts will convert into catchable errors. |
@jasnell trying to do that, not having much luck getting a simple test to actually do it. |
Ok. I'm hoping to have some time to look at it tomorrow. I'll let you know what I find |
@jasnell any luck? |
Not yet. Ended up running out of time the other day. Thank you for the reminder, I'll make sure I take a look tomorrow |
Might also be relevant. I dumped out the session level stats and they don't add up.
Only opening bidirectional streams. If the counters were working wouldnt |
What steps will reproduce the bug?
Still working this out
How often does it reproduce? Is there a required condition?
Reproduction Rate: 100%
Still working this out
What do you see instead?
Server Side crash:
Additional information
Found when experimenting with porting existing software to QUIC.
The text was updated successfully, but these errors were encountered: