-
Notifications
You must be signed in to change notification settings - Fork 132
fix: do not log 'signal client closed: "stream closed"' on disconnect #727
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
Conversation
when server sends an explicit LeaveRequest, we would still end up logging ``` livekit::rtc_engine:453:livekit::rtc_engine - received session close: "signal client closed: \"stream closed\"" UnknownReason Resume ``` that's due to the signal client being closed after an explicit Leave is sent
ladvoc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ✅
|
Actually, I just realized this change might have broken |
|
oh that's not good. how does the test tear down signal connection? |
|
The test calls |
livekit/src/rtc_engine/mod.rs
Outdated
| match action { | ||
| proto::leave_request::Action::Resume | ||
| | proto::leave_request::Action::Reconnect => { | ||
| let running_handle = self.running_handle.read(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It appears reading from the RwLock on this line leads to a deadlock—I will have to dig deeper to determine why this is the case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see the issue, the read lock wasn't released in time. fixed in 701962c
ladvoc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment
when server sends an explicit LeaveRequest, we would still end up logging
that's due to the signal client being closed after an explicit Leave is sent