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
fix: make StreamSubscriber ref counted #17221
Conversation
It is owned by URLRequestStreamJob on the IO thread once request starts, but if the ownership was abondoned while transfering it to IO thread which is possible when a request is aborted, then we need to make sure its destroyed on the right thread to avoid lock in v8.
/cc @pfrazee |
Will test this shortly, I'm just fighting with the electron build process |
Just tested this against https://github.com/pfrazee/electron-bug-webview-freeze and confirmed the fix works 👍 |
Release Notes Persisted
|
I was unable to backport this PR to "4-0-x" cleanly; |
I have automatically backported this PR to "5-0-x", please check out #17264 |
A maintainer has manually backported this PR to "4-0-x", please check out #17267 |
A maintainer has manually backported this PR to "4-1-x", please check out #17267 |
It is owned by URLRequestStreamJob on the IO thread once request starts, but if the ownership was abondoned while transfering it to IO thread which is possible when a request is aborted, then we need to make sure its destroyed on the right thread to avoid lock in v8.
Description of Change
It is owned by URLRequestStreamJob on the IO thread once request starts, but if the ownership was abondoned while transfering it to IO thread which is possible when a request is aborted, then we need to make sure its destroyed on the right thread.
Fixes #16881
Checklist
npm test
passesRelease Notes
Notes: Fix app freeze when using custom stream protocol