perf: patch libuv to use posix_spawn on macOS#27026
perf: patch libuv to use posix_spawn on macOS#27026jkleinsc merged 4 commits intoelectron:masterfrom
Conversation
|
💖 Thanks for opening this pull request! 💖 We use semantic commit messages to streamline the release process. Before your pull request can be merged, you should update your pull request title to start with a semantic prefix. Examples of commit messages with semantic prefixes:
Things that will help get your PR across the finish line:
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can. |
35bfc3f to
c371770
Compare
|
Am I correct in understanding that the breaking change is that previously, the |
|
@nornagon thanks for taking a look! Correct, that's the breaking change I was referring to (I'll update the description to clarify). In my opinion this should not be merged until that is fixed. My motivations for the draft PR are:
|
|
@pdesantis yes, this is the right way to land a patch in Electron. |
|
@pdesantis do you still plan to work on this? |
|
@codebytere yes! I'm just waiting on final approval for libuv/libuv#3064 (which we submitted yesterday), then will update this PR. |
patch libuv to fix a performance regression in macOS >= 11 Spawning child processes in an Electron application with a hardened runtime has become slow in macOS Big Sur. This patch is a squashed version of libuv/libuv#3064 This patch should be removed when libuv PR 3064 is merged. Fixes: libuv/libuv#3050 Fixes: electron#26143 PR-URL: libuv/libuv#3064 Authored-by: Juan Pablo Canepa <[email protected]> Co-authored-by: Marcello Bastéa-Forte <[email protected]> Electron patch prepared by: Pat DeSantis <[email protected]>
c371770 to
16370a2
Compare
16dff6f to
7c1d521
Compare
|
@codebytere @nornagon I'm marking this as Ready for Review now. We fixed the aforementioned breaking change and have received 1 merge approval on libuv PR libuv/libuv#3064 (but it has not been merged yet). I'm guessing you want to wait for libuv to merge the PR, but figured now is a good time to start the Electron review process. I had to make 1 change to the patch (stripping trailing whitespace) to pass Electron's lint. I can squash this down into 1 commit once the review is done. |
nornagon
left a comment
There was a problem hiding this comment.
I'm OK merging / backporting this once it's merged upstream.
Awesome, I'll report back once it's merged. In the meantime, what should I do about these test failures? |
|
@pdesantis the patch needs to be updated. If you are using electron build tools, you can run |
|
libuv/libuv#3064 PR has been merged and closed now |
|
Congrats on merging your first pull request! 🎉🎉🎉 |
|
Release Notes Persisted
|
|
I have automatically backported this PR to "11-x-y", please check out #27654 |
|
I have automatically backported this PR to "10-x-y", please check out #27655 |
|
I have automatically backported this PR to "12-x-y", please check out #27656 |
This reverts commit f69c111.
This reverts commit f69c111.
This reverts commit f69c111.
This reverts commit f69c111.
* Revert "perf: patch libuv to use posix_spawn on macOS (#27026)" This reverts commit f69c111. * Update .patches Co-authored-by: VerteDinde <[email protected]> Co-authored-by: Robo <[email protected]>
* Revert "perf: patch libuv to use posix_spawn on macOS (#27026)" This reverts commit f69c111. * Update .patches Co-authored-by: VerteDinde <[email protected]> Co-authored-by: Robo <[email protected]>
…) (electron#27810)" This reverts commit a859436.
…) (electron#27810)" This reverts commit a859436.
…) (electron#27810)" This reverts commit a859436.
Description of Change
Spawning child processes in an Electron application with a hardened runtime has become slow in macOS Big Sur.
This patch is a squashed version of libuv/libuv#3064, and should be removed when the libuv PR is merged.
Fixes: libuv/libuv#3050
Fixes: #26143
PR-URL: libuv/libuv#3064
Special thanks
@jpcanepa: authoring the libuv patch
@davidzech @marcello3d @srubin: identifying the underlying Electron issue
@marcello3d: creating the Electron repro
@bnoordhuis: assistance with libuv
Stakeholders
@deepak1556: thanks for the libuv repro
@erickzhao: thanks for the support in the Electron Discord & assisting with Electron build-tools
Checklist
PATHenv var breaking change is fixednpm testpassesRelease Notes
Notes: Fixed slow child process spawning on macOS Big Sur