Closed TimEvens closed 4 months ago
Thanks for reporting this. I will merge #147 which should fix the crash. At some point I would like to expose the error to the application, but I'm not sure how exactly that will look like yet. We also still need to implement stream reset for a sender, too. I opened #146 and #148 to track this.
Date-client crashes with the following upon group change to a new steam.. Looks like the interop issue is with how the transition is performed. GitHub.com/quicr/libquicr closes the stream with reset when switching to a new stream. It doesn't use FIN close because of lingering data and possibly head of line blocking on that stream, hence the immediate move to the next group using the a new stream. FIN close is supported of course, but draft-ietf-moq-transport-04 does not define how streams MUST transitioned. such as FIN close, wait till no more data is being sent, then start a new stream, or async start a new stream while data is still flowing the previous stream, or just reset it and move to next...
time=2024-06-20T14:28:30.094-07:00 level=INFO source=/Users/tievens/Documents/workspace/ws-media10x/moqtransport/remote_track.go:63 msg="reading object stream" panic: stream 7 canceled by remote with error code 0
goroutine 12 [running]: github.com/mengelbart/moqtransport.(RemoteTrack).readObjectStream(0x140000c8270, 0x14000171f00) /Users/tievens/Documents/workspace/ws-media10x/moqtransport/remote_track.go:71 +0x210 github.com/mengelbart/moqtransport.(Session).handleIncomingUniStream(0x140000ca080, {0x104b47378?, 0x140000d62c0}) /Users/tievens/Documents/workspace/ws-media10x/moqtransport/session.go:262 +0x2b0 created by github.com/mengelbart/moqtransport.(*Session).acceptUnidirectionalStreams in goroutine 34 /Users/tievens/Documents/workspace/ws-media10x/moqtransport/session.go:239 +0x38 exit status 2