Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interop testing of stream per group causes crash #145

Closed
TimEvens opened this issue Jun 20, 2024 · 1 comment · Fixed by #147
Closed

Interop testing of stream per group causes crash #145

TimEvens opened this issue Jun 20, 2024 · 1 comment · Fixed by #147

Comments

@TimEvens
Copy link

TimEvens commented Jun 20, 2024

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...

Note

FIN does work, this issue appears to only be with RESET

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

@mengelbart mengelbart linked a pull request Jun 27, 2024 that will close this issue
@mengelbart
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants