-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Spawn a new process for each Pkg.build #13499
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
Seems like an unrelated AppVeyor hiccup ( |
warnbanner(err, label="[ ERROR: $pkg ]") | ||
errs[pkg] = err | ||
end | ||
end | ||
end | ||
isfile(errfile) && Base.rm(errfile) |
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.
We should keep log file in case of an error for further inspection.
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.
Maybe, but that seems like a separate PR. We aren't keeping a log file now, so logging would be a new feature that would require its own design discussion.
The temporary file used here is poorly suited as a log file because I'm re-using the same temporary file for building each package.
Furthermore, the only information in this temporary file is a serialized exception, which is already deserialized and stored in the errs
array, so I don't understand what would be gained by keeping the file around.
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.
ok, a new feature is fine.
Will merge Friday if there are no objections. @tkelman, this is probably worth backporting to 0.4.1; it should hopefully make |
This is going to slow things down a lot on Windows. Startup time is still around 3 seconds there. Can we do this as one process per call to |
Running in one process would defy whole idea to build a dependency in a clean environment. |
Is |
One process per I'm wary of |
Closing in favor of #13506. |
This isolates the build process from the running environment, and prevents build failures due to stale modules already being loaded, as discussed in #13458.