Closed TimEvens closed 6 months ago
Thanks for the report and the detailed log. I think that I understand the issue. Per RFC 9000, stream are "auto-created" the first time a peer refers to them in any frame with a "stream-id" in them. The big issue is that we do not distinguish between "this stream was already created and is now closed" and "this stream was not yet created". I need a better check there.
We are resetting roughly 4 streams at the same time every 5 seconds (upon GOP change). We have noticed that durning packet loss/retransmits we hit PICOQUIC_TRANSPORT_STREAM_STATE_ERR that causes the connection to close. It has been very hard to reproduce this. I added an
abort()
at line 60 to get a backtrace of when this happens. I also added anfprintf()
to log the current and next stream ids.It should be noted, we have only seen this issue with transmit. We do not see this issue with receive resets.