-
Notifications
You must be signed in to change notification settings - Fork 29
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
Switch apm to @atom-ide-community/atom-package-manager #88
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
622ebda
to
645cd8a
Compare
@aminya rebased, and using the new versions of
|
This comes with better Visual Studio 2017 and 2019+ support, and bundles Node v12.0.0, which matches the Node version Electron 5 is based on.
This bundles Node v12.4.0, which matches the version of Node that Electron 6 is based on.
645cd8a
to
53cd197
Compare
I'm seeing something weird on this branch. The Linux build is segfaulting/erroring out after successfully building Atom and packaging the I also had the same thing happen when building on my local machine. This happens occasionally on other branches, so maybe this PR is just getting a series of unlucky flaky runs. But maybe we actually have to change something on this branch. |
There is not a useful log to troubleshoot this. If got better logs let me know. |
We finally got it printing an error message: FATAL ERROR: v8::HandleScope::CreateHandle() Cannot create a handle without a HandleScope
1: 0x98edf0 node::Abort() [node]
2: 0x98fe56 node::OnFatalError(char const*, char const*) [node]
3: 0xb1506a v8::Utils::ReportApiFailure(char const*, char const*) [node]
4: 0xeeab4a v8::internal::HandleScope::Extend(v8::internal::Isolate*) [node]
5: 0xb16ad1 v8::HandleScope::CreateHandle(v8::internal::Isolate*, unsigned long) [node]
6: 0x94ac93 [node]
7: 0xee6f3b v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacksFromTask() [node]
8: 0xc07d03 v8::internal::CancelableTask::Run() [node]
9: 0x9f94a5 node::PerIsolatePlatformData::RunForegroundTask(std::unique_ptr<v8::Task, std::default_delete<v8::Task> >) [node]
10: 0x9fa582 node::PerIsolatePlatformData::FlushForegroundTasksInternal() [node]
11: 0x9fb8ad node::NodePlatform::DrainTasks(v8::Isolate*) [node]
12: 0x9d09be node::NodeMainInstance::Run() [node]
13: 0x967051 node::Start(int, char**) [node]
14: 0x7fa25947a840 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
15: 0x9055b5 [node] This is on |
This seems to be related to one of the Node modules or mksnapshot. Other people faced the same issue: This one recommends using NAPI-Thread-Safe-Promise or node-napi-threadsafe-deferred instead of node-api-addon which is thread-safe. We need to find which package is using that and try to rewrite it using the thread-safe package. Some important issues about this: This is a N-api issue. One of the Native modules (or Electron itself) does not use thread-safe promises For example: electron/electron#22843 fixed one missing handle scope in Electron 10, but this is not back ported to 6. All the GitHub issues regarding this: https://github.com/search?q=Cannot+create+a+handle+without+a+HandleScope+is%3Aissue&type=Issues |
Issue or RFC Endorsed by Atom's Maintainers
Helps with #44
Description of the Change
Use a fork of apm that's updated more frequently. By the same maintainers working on this fork of Atom. This fork is somewhat conservatively updated with needed fixes/dependency updates, and quality of life improvements.
Right now, the changes are limited to:
CR/LF
) so that releases can be properly published from a Windows machine.See the Changelogs:
Alternate Designs
None
Possible Drawbacks
None.
Verification Process
CI should pass, manual testing shows that this works as a drop-in replacement with all the commands I've tried.
Release Notes
Switch apm to
@atom-ide-community/atom-package-manager
(comes with bundled Node v12.4.0)