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

fix: Ensure electron delay loads the same modules as chromium #25428

Merged
merged 3 commits into from Sep 12, 2020
Merged

fix: Ensure electron delay loads the same modules as chromium #25428

merged 3 commits into from Sep 12, 2020

Conversation

chrdavis
Copy link
Contributor

@chrdavis chrdavis commented Sep 11, 2020

This change adds the same module delay load list that chromium uses for electron. Some modules were already getting delay loaded from other build files in chromium but not the main list via //build/config/win:delayloads. We do not include the list of delay loads in delayloads_not_for_child_dll as those have issues being loaded in sandboxes processes. This will reduce the overall reference set impact of the electron processes.
notes: Added missing module delay loads on windows to reduce per process reference set impact

…ndows

This change adds the same module delay load list that chromium uses for electron.  Some modules were already getting delay loaded from other build files in chromium but not the main list via //build/config/win:delayloads.  We do not include the list of delay loads in delayloads_not_for_child_dll as those have issues being loaded in sandboxes processes.  This will reduce the overall reference set impact of the electron processes.
@welcome
Copy link

welcome bot commented Sep 11, 2020

💖 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:

  • fix: don't overwrite prevent_default if default wasn't prevented
  • feat: add app.isPackaged() method
  • docs: app.isDefaultProtocolClient is now available on Linux

Things that will help get your PR across the finish line:

  • Follow the JavaScript, C++, and Python coding style.
  • Run npm run lint locally to catch formatting errors earlier.
  • Document any user-facing changes you've made following the documentation styleguide.
  • Include tests when adding/changing behavior.
  • Include screenshots and animated GIFs whenever possible.

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.

@electron-cation electron-cation bot added the new-pr 🌱 PR opened in the last 24 hours label Sep 11, 2020
@chrdavis chrdavis changed the title Ensure electron delay loads the appropriate modules as chromium Fix: Ensure electron delay loads the appropriate modules as chromium Sep 11, 2020
@chrdavis chrdavis changed the title Fix: Ensure electron delay loads the appropriate modules as chromium fix: Ensure electron delay loads the appropriate modules as chromium Sep 11, 2020
@chrdavis
Copy link
Contributor Author

chrdavis commented Sep 11, 2020

Here is the list of delay loaded modules before the change:
image

Here is the list of delay loaded modules after the change:
image

@chrdavis
Copy link
Contributor Author

Not sure what the build-mac failures are. I can't access logs. Also, my changes shouldn't impact anything but Windows.

@nornagon
Copy link
Member

mac failures seem to be flakes.

@chrdavis chrdavis changed the title fix: Ensure electron delay loads the appropriate modules as chromium fix: Ensure electron delay loads the same modules as chromium Sep 11, 2020
@MarshallOfSound
Copy link
Member

@chrdavis For future reference you should be able to view the CI build log just by signing in, you have to auth with github but the logs aren't behind any kind of permission barrier. If you can't view them after signing in to CircleCI let me know and I can look into it 😄

@chrdavis
Copy link
Contributor Author

Do the mac tests have to be run again or is this ok to merge now?

@deepak1556
Copy link
Member

It is fine to merge, the failures are unrelated. Thanks for the pr!

@deepak1556 deepak1556 merged commit a3389d0 into electron:master Sep 12, 2020
@welcome
Copy link

welcome bot commented Sep 12, 2020

Congrats on merging your first pull request! 🎉🎉🎉

@release-clerk
Copy link

release-clerk bot commented Sep 12, 2020

Release Notes Persisted

Added missing module delay loads on windows to reduce per process reference set impact

@trop
Copy link
Contributor

trop bot commented Sep 12, 2020

I have automatically backported this PR to "10-x-y", please check out #25435

@trop
Copy link
Contributor

trop bot commented Sep 12, 2020

I have automatically backported this PR to "11-x-y", please check out #25436

@trop
Copy link
Contributor

trop bot commented Sep 12, 2020

I have automatically backported this PR to "9-x-y", please check out #25437

@trop trop bot removed the target/10-x-y label Sep 12, 2020
@electron-cation electron-cation bot removed the new-pr 🌱 PR opened in the last 24 hours label Sep 14, 2020
mlaurencin pushed a commit to mlaurencin/electron that referenced this pull request Sep 16, 2020
…on#25428)

* Ensure electron delay loads the appropriate modules as chromium on windows

This change adds the same module delay load list that chromium uses for electron.  Some modules were already getting delay loaded from other build files in chromium but not the main list via //build/config/win:delayloads.  We do not include the list of delay loads in delayloads_not_for_child_dll as those have issues being loaded in sandboxes processes.  This will reduce the overall reference set impact of the electron processes.

* fix: Ensure win modules are properly delayloaded

* chore: fix linting

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
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 this pull request may close these issues.

None yet

4 participants