Closed tusing closed 2 years ago
The recent app release is based on Electron v11.1.0. I can't guarantee proper work on Apple Silicon hardware nor on macOS in general since I don't possess sold-by-apple devices. The released app versions go through the e2e/spectron tests executed on Linux/macOS/Windows systems which is the way I used to verify that the app is functioning on the macOS system.
Referencing relevant links:
Ideally, I need GitHub Actions to support Apple-Silicon-based environment (which unlikely to happen any time soon), so I could compile the native dependencies and test the basic app functionality on the system close to end-user systems. Although it appears that Xcode 12.2+ is already supported there so I guess things might go well if I just compile arm arch using the recent electron-builder version which supports @electron/universal thing.
This will be wontfix for now since I won't be able to verify things when/if I play around the issue.
I know you don't plan to support officially M1, but by curiosity I tried to build an arm64 version of Electronmail on my M1 Macbook and it succeed. First, I did some edit in package.json to change the architecture to arm64. Then I used the usual way to build the app as said on the readme of the project. The app work flawlessly and smoothly. I created a gist with the DMG and the diff in package.json is someone is interested : https://gist.github.com/badwulfy/90d6e2596fe7f14019f2330ff007fd85
Then I tried to do the same build procedure on an Intel Mac. The build succeed, but I wasn't able to run on my M1 Mac (crashed immediately). I have not yet investigated further. If someone has an idea, I'm interested.
@badwulfy thanks for the report. Yes, the process should not be complex but I still tend to avoid adding support for M1 primarily because I'd like to be able to test things at my side at least initially.
Then I tried to do the same build procedure on an Intel Mac. The build succeed, but I wasn't able to run on my M1 Mac (crashed immediately).
There are native dependencies involved that get compiled from code sources during the app package assembling process. That might be the cause.
If your app has native dependency, it can be compiled only on the target platform unless prebuild is not used.
For people interested, I published an M1 build of the version 4.12.8 in the release page on my "fork" (used only to build the app). https://github.com/badwulfy/ElectronMail/releases/tag/v4.12.8
I plan to automate build with github actions when I'll have time.
I published an M1 build of the version 4.12.8
I'd recommend to wait for #443 resolving in 4.12.9.
I had not seen the issue. I just built the new version 4.12.9 : https://github.com/badwulfy/ElectronMail/releases/tag/v4.12.9 Thanks for pointing it out.
I created a gist with the DMG and the diff in package.json if someone is interested
I applied the patch, but the build of current version still fails, as some script is missing...
% npm run electron-builder:dist
> electron-mail@4.12.7 electron-builder:dist
> npm exec --package=ts-node -- ts-node --files --require tsconfig-paths/register ./scripts/electron-builder/run-with-default-evn-vars.ts --arm64 --publish never
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module './run-with-default-evn-vars.ts'
Anyone having any luck here yet with Apple Silicon build automation?
Came to check on M1/arm64 support for macOS, and subscribing (even though this is closed). Hoping some traction can be made here, as Electron apps running under Rosetta 2 are nowhere near as performant as Electron apps for M1/arm64.
Too true. Electron and Chromium based apps are indeed horrible on Rosetta.
@vladimiry any chance you might be able to look over the situation more closely and offer an updated estimate of where things stand now? (eg, does this help?: https://github.com/electron/universal/releases)
I'm generally avoiding macOS-specific tasks, primarily because not able to test stuff at my side. But I could pull the trigger on this one if you will be ready to test the build.
More than happy to test anytime you're ready @vladimiry.
The test build is uploaded here. The file to test is electron-mail-5.0.2-mac-universal.dmg
. If possible, run the tests on both M1 and non-M1 laptops.
Thanks so much @vladimiry!
The x64 (electron-mail-5.0.2-mac-x64.dmg) works fine - just as always without any noticeable changes. It does indeed show up as "Intel" mode in Activity Monitor.
When I attempt to run the Universal version (electron-mail-5.0.2-mac-universal.dmg), I receive the following error:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: dlopen(/Applications/ElectronMail.app/Contents/Resources/app.asar.unpacked/node_modules/sodium-native/build/Release/sodium.node, 0x0001): tried: '/Applications/ElectronMail.app/Contents/Resources/app.asar.unpacked/node_modules/sodium-native/build/Release/sodium.node' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))
at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1812)
at Module._extensions..node (node:internal/modules/cjs/loader:1203:18)
at Object.func [as .node] (node:electron/js2c/asar_bundle:5:2039)
at Module.load (node:internal/modules/cjs/loader:988:32)
at Module._load (node:internal/modules/cjs/loader:829:12)
at c._load (node:electron/js2c/asar_bundle:5:13343)
at Module.require (node:internal/modules/cjs/loader:1012:19)
at require (node:internal/modules/cjs/helpers:102:18)
at load (/Applications/ElectronMail.app/Contents/Resources/app.asar/node_modules/node-gyp-build/index.js:22:10)
at Object.<anonymous> (/Applications/ElectronMail.app/Contents/Resources/app.asar/node_modules/sodium-native/index.js:1:39)
I do, however, see the app still running as an "Apple" mode app within Activity Monitor, so you do appear to be close.
When in /Applications/ElectronMail.app/Contents/MacOS
file shows:
$ file ElectronMail
ElectronMail: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64Mach-O 64-bit executable arm64]
ElectronMail (for architecture x86_64): Mach-O 64-bit executable x86_64
ElectronMail (for architecture arm64): Mach-O 64-bit executable arm64
It appears that other frameworks show similar results via file
.
Any additional details I might provide?
Any additional details I might provide?
If you have a non-M1 laptop, but Intel-based, try electron-mail-5.0.2-mac-universal.dmg
on it.
so you do appear to be close
Just asked electron-builder
to prepare a "universal" build. Unfortunately, it didn't work out, even though there were no errors during the packaging process:
> npm exec --package=electron-builder -- electron-builder --universal --publish never
• electron-builder version=23.3.1 os=20.6.0
• loaded configuration file=/Users/runner/work/ElectronMail/ElectronMail/electron-builder.yml
• rebuilding native dependencies dependencies=keytar@7.9.0, msgpackr-extract@2.0.2, sodium-native@3.3.0, spellchecker@3.7.0 platform=darwin arch=x64
• install prebuilt binary name=keytar version=7.9.0 platform=darwin arch=x64 napi=
⨯ cannot find prebuild-install
• packaging platform=darwin arch=x64 electron=19.0.8 appOutDir=dist/mac-universal--x64
• downloading url=https://github.com/electron/electron/releases/download/v19.0.8/electron-v19.0.8-darwin-x64.zip size=82 MB parts=6
• downloaded url=https://github.com/electron/electron/releases/download/v19.0.8/electron-v19.0.8-darwin-x64.zip duration=2.287s
• rebuilding native dependencies dependencies=keytar@7.9.0, msgpackr-extract@2.0.2, sodium-native@3.3.0, spellchecker@3.7.0 platform=darwin arch=arm64
• install prebuilt binary name=keytar version=7.9.0 platform=darwin arch=arm64 napi=
⨯ cannot find prebuild-install
• packaging platform=darwin arch=arm64 electron=19.0.8 appOutDir=dist/mac-universal--arm64
• downloading url=https://github.com/electron/electron/releases/download/v19.0.8/electron-v19.0.8-darwin-arm64.zip size=79 MB parts=6
• downloaded url=https://github.com/electron/electron/releases/download/v19.0.8/electron-v19.0.8-darwin-arm64.zip duration=1.413s
• packaging platform=darwin arch=universal electron=19.0.8 appOutDir=dist/mac-universal
So the only thing I could try for now is disabling mergeASARs
flag, so a new build is coming (it's not going to help though I guess).
I did indeed ask for some feedback from someone with an Intel Mac, should hear back soon.
Hmmmmmmm.... It seems perhaps there is something going on with the arm64
vs arm64e
ABI situation... Hmmmm.
Ideally, I need GitHub Actions to support Apple-Silicon-based environment (which unlikely to happen any time soon), so I could compile the native dependencies and test the basic app functionality on the system close to end-user systems.
Besides, I guess it's impossible to properly compile arm64 native modules on non-M1 system (currently using macos-latest
GitHub Actions runner). The CI system is yet to support M1 silicon runner (also see https://github.com/actions/virtual-environments/issues/2187).
Hmm, this is interesting/strange. I'll need to check with another project I work with to see how the CI guys are generating their Apple Silicon binaries on GH Actions runner...
I suppose one option could be to just outline an "Apple Silicon Build Instructions" sections on the front page and I could test that out and we could iterate and refine it to get it working such that any Apple Silicon users that want it could build our own with a clean process (and I could probably get someone to make a MacPorts formula to make it simpler).
I suppose one option could be to just outline an "Apple Silicon Build Instructions" sections on the front page and I could test that out
It should be almost the same process as currently listed in the readme expect for the final/packaging step where you set --arm64
or --universal
option (use master
branch):
pnpm install --frozen-lockfile
pnpm run app:dist
pnpm run clean:prebuilds && npm exec --package=electron-builder -- electron-builder --arm64 --publish never
(also try --universal
instead of --arm64
if you want)If you want to skip building the @protonmail stuff (I'd recommend), foremost unpack the proton-clients-artifact
file to the project folder. The file listed at the page bottom on the https://github.com/vladimiry/ElectronMail/actions/runs/2514834063 page (prebuilt @protonmail clients of the latest release).
You could also skip the pnpm run app:dist
step by unpacking the app-artifact-macOS
file to the project folder (located on the same above-listed page). So no app/proton building steps but just packaging.
So no app/proton building steps but just packaging.
Correction. If you skip pnpm run app:dist
by unpacking both artifacts, the pnpm run build:electron-builder-hooks
run is still required before running a final/packaging step.
So the only thing I could try for now is disabling mergeASARs flag, so a new build is coming (it's not going to help though I guess).
So the only thing I could try for now is disabling mergeASARs flag, so a new build is coming (it's not going to help though I guess).
As you expected, the binary did not work on my M1.
A JavaScript error occurred in the main process
Uncaught Exception:
Error [ERR_REQUIRE_ESM]: require() of ES Module /Applications/ElectronMail.app/Contents/Resources/app.asar/index.js not supported.
index.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /Applications/ElectronMail.app/Contents/Resources/app.asar/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).
at c._load (node:electron/js2c/asar_bundle:5:13343)
at Object.<anonymous> (node:electron/js2c/browser_init:185:3104)
at ./lib/browser/init.ts (node:electron/js2c/browser_init:185:3308)
at __webpack_require__ (node:electron/js2c/browser_init:1:128)
at node:electron/js2c/browser_init:1:1200
at node:electron/js2c/browser_init:1:1267
at c._load (node:electron/js2c/asar_bundle:5:13343)
I had the same kind of problems last December in September when I tried to make a universal binary.
If i build ElectronMail from an intel, it only worked on Intel. If I build from an Apple Silicon, it only worked on Apple Silicon.
It must be possible (considering the number of projects that managed to do it), but I didn't find out what was wrong exactly and how to solve it at that time.
I just tried to build with debug mode of electron-builder enabled (with export DEBUG=electron-builder
)
During the build, I go this error :
~/Downloads/ElectronMail master *1 ❯ pnpm run clean:prebuilds && npm exec --package=electron-builder -- electron-builder --universal --publish never
> electron-mail@5.0.1 clean:prebuilds /Users/kiralex/Downloads/ElectronMail
> rimraf ./node_modules/{keytar,sodium-native,spellchecker,msgpackr-extract}/{bin,build,prebuilds} ./node_modules/@msgpackr-extract/ ./node_modules/sodium-native/deps/{unix,win,libsodium-*}
• electron-builder version=23.1.0 os=21.5.0
• loaded configuration file=/Users/kiralex/Downloads/ElectronMail/electron-builder.yml
• writing effective config file=dist/builder-effective-config.yaml
• rebuilding native dependencies dependencies=keytar@7.9.0, msgpackr-extract@2.0.2, sodium-native@3.3.0, spellchecker@3.7.0 platform=darwin arch=x64
• install prebuilt binary name=keytar version=7.9.0 platform=darwin arch=x64 napi=
⨯ cannot find prebuild-install
• packaging platform=darwin arch=x64 electron=19.0.4 appOutDir=dist/mac-universal--x64
>>> [hook: afterPack] Processing ["dmg"] targets
• rebuilding native dependencies dependencies=keytar@7.9.0, msgpackr-extract@2.0.2, sodium-native@3.3.0, spellchecker@3.7.0 platform=darwin arch=arm64
• install prebuilt binary name=keytar version=7.9.0 platform=darwin arch=arm64 napi=
⨯ cannot find prebuild-install
• packaging platform=darwin arch=arm64 electron=19.0.4 appOutDir=dist/mac-universal--arm64
>>> [hook: afterPack] Processing ["dmg"] targets
• packaging platform=darwin arch=universal electron=19.0.4 appOutDir=dist/mac-universal
⨯ Can't reconcile two non-macho files node_modules/spellchecker/build/Release/hunspell.a failedTask=build stackTrace=Error: Can't reconcile two non-macho files node_modules/spellchecker/build/Release/hunspell.a
at Object.exports.mergeASARs (/Users/kiralex/Downloads/ElectronMail/node_modules/@electron/universal/src/asar-utils.ts:151:13)
at exports.makeUniversalApp (/Users/kiralex/Downloads/ElectronMail/node_modules/@electron/universal/src/index.ts:205:13)
at MacPackager.doPack (/Users/kiralex/Downloads/ElectronMail/node_modules/app-builder-lib/src/macPackager.ts:125:9)
at MacPackager.pack (/Users/kiralex/Downloads/ElectronMail/node_modules/app-builder-lib/src/macPackager.ts:191:7)
at Packager.doBuild (/Users/kiralex/Downloads/ElectronMail/node_modules/app-builder-lib/src/packager.ts:441:9)
at Object.executeFinally (/Users/kiralex/Downloads/ElectronMail/node_modules/builder-util/src/promise.ts:12:14)
at Packager._build (/Users/kiralex/Downloads/ElectronMail/node_modules/app-builder-lib/src/packager.ts:376:31)
at Packager.build (/Users/kiralex/Downloads/ElectronMail/node_modules/app-builder-lib/src/packager.ts:337:12)
at Object.executeFinally (/Users/kiralex/Downloads/ElectronMail/node_modules/builder-util/src/promise.ts:12:14)
I tried to update electron-builder to the latest version (as it seems to fix some issues when building universal binary) but I still get the same error.
As you expected, the binary did not work on my M1.
The error you posted there related to the module loading, not a binary thing (it didn't get to the native module loading stage loading yet).
⨯ Can't reconcile two non-macho files node_modules/spellchecker/build/Release/hunspell.a failedTask=build stackTrace=Error: Can't reconcile two non-macho files node_modules/spellchecker/build/Release/hunspell.a
It's solved in the "wip" branch. Pick this files
section to your/master branch https://github.com/vladimiry/ElectronMail/blob/4f11b3f7f5537ffb1322f12b23e2b20e1dd47b10/electron-builder.yml#L9-L17 And when you package the app use the --arm64 --publish never
args (--universal
is not something I'm a fan of at the moment as it adds complexity, would prefer to ship 2 separate builds).
Hey guys,
Following @ylluminate's request, I've had a quick look at your build to compare it with ours (at Ferdium) for arm
.
@vladimiry We indeed do not use the --universal
flag as it hasn't been working properly. When we build on our machines we use npm run build -- --mac --arm64 --dir
which corresponds to what you are suggesting.
However, when we use the github CI, we let electron-builder
take care of everything, by calling the command npm run build -- --publish always
and having the appropriate targets set in electron-builder.yaml
as follows:
mac:
[...]
target:
- target: dmg
arch: [x64, arm64]
- target: zip
arch: [x64, arm64]
It also seems that it is possible to build the arm
app on an intel Mac (I've just done it on mine to test, but I can't run the app for obvious reasons), so this should not be a problem with Github CI.
If you've got questions, just let me know and I'll be happy to see if I can help!
It's also essential to note that we at Ferdium took a hard look at our dependencies that require native compilation - and removed them over time. That way, we are not compiling dependencies with native libraries as part of our CI build process. You might also need to review and watch out for these items.
Can someone test this build on M1 hardware? It's built with --arm64
arg vs --universal
used before. I guess it might work. Fortunately with https://github.com/github/roadmap/issues/528 resolving CI should be able to rune e2e test for arm64 build.
Native deps got compiled without errors:
...
rebuilding native dependencies dependencies=keytar@7.9.0, msgpackr-extract@2.0.2, sodium-native@3.3.0, spellchecker@3.7.0 platform=darwin arch=arm64
...
• execute command command=/Users/runner/hostedtoolcache/node/16.16.0/x64/bin/node /Users/runner/hostedtoolcache/node/16.16.0/x64/lib/node_modules/npm/bin/npm-cli.js rebuild --verbose keytar@7.9.0 msgpackr-extract@2.0.2 sodium-native@3.3.0 spellchecker@3.7.0
...
npm timing build:run:install:node_modules/msgpackr-extract Completed in 13095ms
npm timing build:run:install:node_modules/keytar Completed in 27758ms
npm timing build:run:install:node_modules/spellchecker Completed in 44430ms
npm timing build:run:install:node_modules/sodium-native Completed in 296869ms
...
It also seems that it is possible to build the arm app on an intel Mac (I've just done it on mine to test, but I can't run the app for obvious reasons), so this should not be a problem with Github CI.
Thanks for confirming that macos-latest
image should work for arm64/M1-target compilation.
electron-builder.yaml as follows:
It's a config-based target specification, which should be the same as CLI based when we specify --arm64
arg (currently used way in this project).
and removed them over time
I do the same (just recently remove one native dep). Also considering dropping the unmaintained spellchecker
one and using native spellchecking or switching to https://github.com/Wulf/nodehun. But at the same time added a simple rust-based experimental native dep https://github.com/vladimiry/ElectronMail/tree/wip/src/electron-main/database/serialization/compression-native (being loaded lazily/by-demand and currently hidden under the feature flag). I'm not really afraid to add new native deps, but those should be maintained. And I don't use prebuilds, which obviously complicates the packaging step.
Thanks for confirming that
macos-latest
image should work for arm64/M1-target compilation.
Just noticed that you go with macos-12
image, but I use macos-latest
which is currently 11.6.7. So if the provided in the previous message build still doesn't work, there is a room for another try (macos-latest => macos-12
switch for arm64
build).
Can someone test this build on M1 hardware?
This build yields the following problem report (crash): https://p153.p0.n0.cdn.getcloudapp.com/items/nOuXLB1Q/d4727fbe-dff2-4ff1-938d-e309fb0d61f2.txt
Can someone test this build on M1 hardware? It's built with
--arm64
arg vs--universal
used before. I guess it might work. Fortunately with github/roadmap#528 resolving CI should be able to rune e2e test for arm64 build.
When running this build, it crash instantly
Here is the crash report:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: ElectronMail [71172]
Path: /Applications/ElectronMail.app/Contents/MacOS/ElectronMail
Identifier: github.comvladimiryElectronMail
Version: 5.0.2 (5.0.2)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2022-07-14 17:03:48.3024 +0200
OS Version: macOS 12.4 (21F79)
Report Version: 12
Anonymous UUID: 349A064B-821D-0DBD-2DC7-865E3AFEA2D1
Sleep/Wake UUID: B28A2FEA-A30D-4B0A-AF8B-B38704034757
Time Awake Since Boot: 92000 seconds
Time Since Wake: 4256 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace DYLD, Code 4 Symbol missing
missing symbol called
(terminated at launch; ignore backtrace)
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x1010b3820 __abort_with_payload + 8
1 dyld 0x1010ba9e0 abort_with_payload_wrapper_internal + 104
2 dyld 0x1010baa14 abort_with_payload + 16
3 dyld 0x10107293c dyld4::halt(char const*) + 328
4 dyld 0x101091240 dyld4::APIs::_dyld_missing_symbol_abort() + 44
5 sodium.node 0x101fa20a0 create_sodium_native + 24
6 Electron Framework 0x10e7f7d94 node::AsyncResource::CallbackScope::CallbackScope(node::AsyncResource*) + 1552
7 Electron Framework 0x10e8180d4 node::binding::get_linked_module(char const*) + 3276
8 Electron Framework 0x10e816f30 node_module_register + 2096
9 Electron Framework 0x109ae6d4c v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 15484
10 Electron Framework 0x109ae68b8 v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 14312
11 Electron Framework 0x109ae5c0c v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 11068
12 ??? 0x7507f09a6c ???
13 ??? 0x7507e8c918 ???
14 ??? 0x7507e8c918 ???
15 ??? 0x7507e8c918 ???
16 ??? 0x7507e8c918 ???
17 ??? 0x7507e8c918 ???
18 ??? 0x750006cb3c ???
19 ??? 0x750005a2ec ???
20 ??? 0x7500058e94 ???
21 ??? 0x7507e8c918 ???
22 ??? 0x7507e8c918 ???
23 ??? 0x7507e8c918 ???
24 ??? 0x7507e8c918 ???
25 ??? 0x7507e8c918 ???
26 ??? 0x7507e8c918 ???
27 ??? 0x750006cb3c ???
28 ??? 0x750005a2ec ???
29 ??? 0x7500058e94 ???
30 ??? 0x7507e8c918 ???
31 ??? 0x7507e8c918 ???
32 ??? 0x7507e8c918 ???
33 ??? 0x7507e8c918 ???
34 ??? 0x7507e8c918 ???
35 ??? 0x750006cb3c ???
36 ??? 0x750005a2ec ???
37 ??? 0x7500058e94 ???
38 ??? 0x7507e8c918 ???
39 ??? 0x7507e8c918 ???
40 ??? 0x7507e8c918 ???
41 ??? 0x7507e8c918 ???
42 ??? 0x7507e8c918 ???
43 ??? 0x7507e8c918 ???
44 ??? 0x750005a2ec ???
45 ??? 0x7500058e94 ???
46 ??? 0x7507e8c918 ???
47 ??? 0x7507e8c918 ???
48 ??? 0x7507e8c918 ???
49 ??? 0x7507e8c918 ???
50 ??? 0x7507e8c918 ???
51 ??? 0x7507e8c918 ???
52 ??? 0x750005a2ec ???
53 ??? 0x7500058e94 ???
54 ??? 0x7507e8c918 ???
55 ??? 0x7507e8c918 ???
56 ??? 0x7507e8c918 ???
57 ??? 0x7507e8c918 ???
58 ??? 0x7507e8c918 ???
59 ??? 0x7507e8c918 ???
60 ??? 0x750005a2ec ???
61 ??? 0x7500058e94 ???
62 ??? 0x7507e8c918 ???
63 ??? 0x7507e8c918 ???
64 ??? 0x7507e8c918 ???
65 ??? 0x7507e8c918 ???
66 ??? 0x7507e8c918 ???
67 ??? 0x7507e8c918 ???
68 ??? 0x7507e8c918 ???
69 ??? 0x7507e8c918 ???
70 ??? 0x7507e8c918 ???
71 ??? 0x7507e8c918 ???
72 ??? 0x7507e8c918 ???
73 ??? 0x7507e8c918 ???
74 ??? 0x7507e8c918 ???
75 ??? 0x7507e8c918 ???
76 ??? 0x750004dee8 ???
77 ??? 0x7507e8c918 ???
78 ??? 0x7507e8c918 ???
79 ??? 0x7507e8c918 ???
80 ??? 0x7507e8c918 ???
81 ??? 0x7507e8c918 ???
82 ??? 0x7507e8c918 ???
83 ??? 0x7507e8ab4c ???
84 ??? 0x7507e8a7e8 ???
85 Electron Framework 0x109b8bc88 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 2080
86 Electron Framework 0x109b8b4f4 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 140
87 Electron Framework 0x109a8e188 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 356
88 Electron Framework 0x10e7eca98 node::EmitAsyncDestroy(node::Environment*, node::async_context) + 250948
89 Electron Framework 0x10e7eda84 node::EmitAsyncDestroy(node::Environment*, node::async_context) + 255024
90 Electron Framework 0x10e7ed954 node::EmitAsyncDestroy(node::Environment*, node::async_context) + 254720
91 Electron Framework 0x10e7ad3c8 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) + 120
92 Electron Framework 0x108d87450 node::FreeArrayBufferAllocator(node::ArrayBufferAllocator*) + 18168
93 Electron Framework 0x108d0c8c0 v8::internal::compiler::RawMachineAssembler::TargetParameter() + 5948
94 Electron Framework 0x10a8b3cd4 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 3293140
95 Electron Framework 0x10a8b70cc v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 3306444
96 Electron Framework 0x10a8b3698 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 3291544
97 Electron Framework 0x108ed42c0 v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*) + 13620
98 Electron Framework 0x108ed52e4 v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*) + 17752
99 Electron Framework 0x108ed4e7c v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*) + 16624
100 Electron Framework 0x108ed3984 v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*) + 11256
101 Electron Framework 0x108ed3e50 v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*) + 12484
102 Electron Framework 0x108c4b17c ElectronMain + 128
103 dyld 0x10106d08c start + 520
Thread 1:
0 libsystem_pthread.dylib 0x1b336f078 start_wqthread + 0
Thread 2:
0 libsystem_pthread.dylib 0x1b336f078 start_wqthread + 0
Thread 3:
0 libsystem_pthread.dylib 0x1b336f078 start_wqthread + 0
Thread 4:: ThreadPoolServiceThread
0 libsystem_kernel.dylib 0x1b3342358 kevent64 + 8
1 Electron Framework 0x10b51956c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16291948
2 Electron Framework 0x10b4d36f8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16005624
3 Electron Framework 0x10b4a22ac v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 15803820
4 Electron Framework 0x10b4ec18c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16106636
5 Electron Framework 0x10b4d7e4c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16023884
6 Electron Framework 0x10b4ec300 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16107008
7 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
8 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
9 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 5:: ThreadPoolForegroundWorker
0 libsystem_kernel.dylib 0x1b33368b0 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x1b3336d20 mach_msg + 76
2 Electron Framework 0x10b512c8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16265100
3 Electron Framework 0x10b4e5b6c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16080492
4 Electron Framework 0x10b4e6438 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16082744
5 Electron Framework 0x10b4e6160 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16082016
6 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
7 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
8 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 6:: ThreadPoolBackgroundWorker
0 libsystem_kernel.dylib 0x1b33368b0 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x1b3336d20 mach_msg + 76
2 Electron Framework 0x10b512c8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16265100
3 Electron Framework 0x10b4e5b6c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16080492
4 Electron Framework 0x10b4e6288 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16082312
5 Electron Framework 0x10b4e60dc v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16081884
6 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
7 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
8 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 7:: ThreadPoolForegroundWorker
0 libsystem_kernel.dylib 0x1b33368b0 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x1b3336d20 mach_msg + 76
2 Electron Framework 0x10b512c8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16265100
3 Electron Framework 0x10b4e5b6c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16080492
4 Electron Framework 0x10b4e6288 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16082312
5 Electron Framework 0x10b4e6160 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16082016
6 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
7 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
8 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 8:: Chrome_IOThread
0 libsystem_kernel.dylib 0x1b3342358 kevent64 + 8
1 Electron Framework 0x10b51956c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16291948
2 Electron Framework 0x10b4d36f8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16005624
3 Electron Framework 0x10b4a22ac v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 15803820
4 Electron Framework 0x10b4ec18c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16106636
5 Electron Framework 0x10a8b829c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 3311004
6 Electron Framework 0x10b4ec300 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16107008
7 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
8 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
9 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 9:: MemoryInfra
0 libsystem_kernel.dylib 0x1b33368b0 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x1b3336d20 mach_msg + 76
2 Electron Framework 0x10b512c8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16265100
3 Electron Framework 0x10b512b64 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16264804
4 Electron Framework 0x10b484d08 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 15683592
5 Electron Framework 0x10b4d36f8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16005624
6 Electron Framework 0x10b4a22ac v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 15803820
7 Electron Framework 0x10b4ec18c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16106636
8 Electron Framework 0x10b4ec300 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16107008
9 Electron Framework 0x10b5070e0 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 16217056
10 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
11 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 10:
0 libsystem_kernel.dylib 0x1b333cc20 kevent + 8
1 Electron Framework 0x108c4a7f4 uv_free_interface_addresses + 1196
2 Electron Framework 0x108c3a034 uv_run + 356
3 Electron Framework 0x10e8a5c28 node::CommonEnvironmentSetup::context() const + 150276
4 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
5 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 11:
0 libsystem_kernel.dylib 0x1b333a270 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x1b337483c _pthread_cond_wait + 1236
2 Electron Framework 0x108c45950 uv_cond_wait + 12
3 Electron Framework 0x10e8a5dd8 node::CommonEnvironmentSetup::context() const + 150708
4 Electron Framework 0x10e8a3c18 node::CommonEnvironmentSetup::context() const + 142068
5 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
6 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 12:
0 libsystem_kernel.dylib 0x1b333a270 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x1b337483c _pthread_cond_wait + 1236
2 Electron Framework 0x108c45950 uv_cond_wait + 12
3 Electron Framework 0x10e8a5dd8 node::CommonEnvironmentSetup::context() const + 150708
4 Electron Framework 0x10e8a3c18 node::CommonEnvironmentSetup::context() const + 142068
5 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
6 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 13:
0 libsystem_kernel.dylib 0x1b333a270 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x1b337483c _pthread_cond_wait + 1236
2 Electron Framework 0x108c45950 uv_cond_wait + 12
3 Electron Framework 0x10e8a5dd8 node::CommonEnvironmentSetup::context() const + 150708
4 Electron Framework 0x10e8a3c18 node::CommonEnvironmentSetup::context() const + 142068
5 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
6 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 14:
0 libsystem_kernel.dylib 0x1b33368ec semaphore_wait_trap + 8
1 Electron Framework 0x108c45f5c uv_sem_wait + 24
2 Electron Framework 0x10e911400 node::SetTracingController(v8::TracingController*) + 48092
3 libsystem_pthread.dylib 0x1b337426c _pthread_start + 148
4 libsystem_pthread.dylib 0x1b336f08c thread_start + 8
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000006 x1: 0x0000000000000004 x2: 0x000000016ef11c00 x3: 0x0000000000000014
x4: 0x000000016ef11800 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000
x8: 0x0000000000000020 x9: 0x0000000000000009 x10: 0x0000000000000001 x11: 0x000000000000000a
x12: 0x0000000000000000 x13: 0x0000000000000037 x14: 0x00000000961af449 x15: 0x00000000003d0a08
x16: 0x0000000000000209 x17: 0x000000010106b14c x18: 0x0000000000000000 x19: 0x0000000000000000
x20: 0x000000016ef11800 x21: 0x0000000000000014 x22: 0x000000016ef11c00 x23: 0x0000000000000004
x24: 0x0000000000000006 x25: 0x0000000000000080 x26: 0x000000016ef124a0 x27: 0x000000014981a908
x28: 0x0000007400000000 fp: 0x000000016ef117d0 lr: 0x00000001010ba9e0
sp: 0x000000016ef11790 pc: 0x00000001010b3820 cpsr: 0x00001000
far: 0x000000010e7f7f34 esr: 0x56000080 Address size fault
Binary Images:
0x101068000 - 0x1010c7fff dyld (*) <d9c2a46e-8dc4-3950-9d6a-f799e8ccb683> /usr/lib/dyld
0x101f88000 - 0x101fb3fff sodium.node (*) <830b89bd-c6a4-3b3a-8155-506fcc69df79> /Applications/ElectronMail.app/Contents/Resources/app.asar.unpacked/node_modules/sodium-native/build/Release/sodium.node
0x108a94000 - 0x10fa83fff com.github.Electron.framework (*) <4c4c44ce-5555-3144-a1a6-7d10a1f2e49b> /Applications/ElectronMail.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
0x1b336d000 - 0x1b3379fff libsystem_pthread.dylib (*) <42166a2c-89a9-3c38-a215-f028544cea23> /usr/lib/system/libsystem_pthread.dylib
0x1b3335000 - 0x1b336cfff libsystem_kernel.dylib (*) <03f48dc5-caa7-3678-af61-1a3c7fa8b06e> /usr/lib/system/libsystem_kernel.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=1.2G resident=0K(0%) swapped_out_or_unallocated=1.2G(100%)
Writable regions: Total=766.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=766.7M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 256K 1
ColorSync 16K 1
CoreGraphics 16K 1
CoreServices 176K 1
Dispatch continuations 64.0M 1
Kernel Alloc Once 32K 1
MALLOC 106.2M 30
MALLOC guard page 96K 6
MALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated)
Memory Tag 253 32.0G 23
Memory Tag 255 4.1G 16
STACK GUARD 56.2M 15
Stack 89.8M 15
VM_ALLOCATE 8224K 3
__AUTH 2597K 308
__AUTH_CONST 20.3M 501
__CTF 756 1
__DATA 19.1M 498
__DATA_CONST 23.8M 512
__DATA_DIRTY 1793K 214
__FONT_DATA 4K 1
__LINKEDIT 581.0M 9
__OBJC_CONST 3634K 279
__OBJC_RO 83.0M 1
__OBJC_RW 3152K 1
__TEXT 606.6M 529
__UNICODE 592K 1
dyld private memory 1024K 1
mapped file 64.3M 12
shared memory 848K 13
=========== ======= =======
TOTAL 38.3G 2999
TOTAL, minus reserved VM space 37.8G 2999
-----------
Full Report
-----------
{"app_name":"ElectronMail","timestamp":"2022-07-14 17:03:50.00 +0200","app_version":"5.0.2","slice_uuid":"4c4c44b0-5555-3144-a166-2eb030dd0214","build_version":"5.0.2","platform":1,"bundleID":"github.comvladimiryElectronMail","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.4 (21F79)","incident_id":"0F88FD41-2728-4852-B6AA-7078C367CACB","name":"ElectronMail"}
{
"uptime" : 92000,
"procLaunch" : "2022-07-14 17:03:45.6877 +0200",
"procRole" : "Foreground",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacBookAir10,1",
"procStartAbsTime" : 2225917120039,
"coalitionID" : 25963,
"osVersion" : {
"train" : "macOS 12.4",
"build" : "21F79",
"releaseType" : "User"
},
"captureTime" : "2022-07-14 17:03:48.3024 +0200",
"incident" : "0F88FD41-2728-4852-B6AA-7078C367CACB",
"bug_type" : "309",
"pid" : 71172,
"procExitAbsTime" : 2225979843033,
"translated" : false,
"cpuType" : "ARM-64",
"procName" : "ElectronMail",
"procPath" : "\/Applications\/ElectronMail.app\/Contents\/MacOS\/ElectronMail",
"bundleInfo" : {"CFBundleShortVersionString":"5.0.2","CFBundleVersion":"5.0.2","CFBundleIdentifier":"github.comvladimiryElectronMail"},
"storeInfo" : {"deviceIdentifierForVendor":"37FE92D8-BEFB-5900-B28C-4A0A6F8E0865","thirdParty":true},
"parentProc" : "launchd",
"parentPid" : 1,
"coalitionName" : "github.comvladimiryElectronMail",
"crashReporterKey" : "349A064B-821D-0DBD-2DC7-865E3AFEA2D1",
"wakeTime" : 4256,
"sleepWakeUUID" : "B28A2FEA-A30D-4B0A-AF8B-B38704034757",
"sip" : "enabled",
"isCorpse" : 1,
"exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
"termination" : {"code":4,"flags":518,"namespace":"DYLD","indicator":"Symbol missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["missing symbol called"]},
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":2317787,"threadState":{"x":[{"value":6},{"value":4},{"value":6156262400},{"value":20},{"value":6156261376},{"value":0},{"value":0},{"value":0},{"value":32},{"value":9},{"value":1},{"value":10},{"value":0},{"value":55},{"value":2518348873},{"value":4000264},{"value":521},{"value":4312183116,"symbolLocation":392,"symbol":"__simple_bprintf"},{"value":0},{"value":0},{"value":6156261376},{"value":20},{"value":6156262400},{"value":4},{"value":6},{"value":128},{"value":6156264608},{"value":5528201480},{"value":498216206336}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4312508896},"cpsr":{"value":4096},"fp":{"value":6156261328},"sp":{"value":6156261264},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":4312479776,"matchesCrashFrame":1},"far":{"value":4538203956}},"queue":"com.apple.main-thread","frames":[{"imageOffset":309280,"symbol":"__abort_with_payload","symbolLocation":8,"imageIndex":0},{"imageOffset":338400,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":104,"imageIndex":0},{"imageOffset":338452,"symbol":"abort_with_payload","symbolLocation":16,"imageIndex":0},{"imageOffset":43324,"symbol":"dyld4::halt(char const*)","symbolLocation":328,"imageIndex":0},{"imageOffset":168512,"symbol":"dyld4::APIs::_dyld_missing_symbol_abort()","symbolLocation":44,"imageIndex":0},{"imageOffset":106656,"symbol":"create_sodium_native","symbolLocation":24,"imageIndex":1},{"imageOffset":97926548,"symbol":"node::AsyncResource::CallbackScope::CallbackScope(node::AsyncResource*)","symbolLocation":1552,"imageIndex":2},{"imageOffset":98058452,"symbol":"node::binding::get_linked_module(char const*)","symbolLocation":3276,"imageIndex":2},{"imageOffset":98053936,"symbol":"node_module_register","symbolLocation":2096,"imageIndex":2},{"imageOffset":17116492,"symbol":"v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&))","symbolLocation":15484,"imageIndex":2},{"imageOffset":17115320,"symbol":"v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&))","symbolLocation":14312,"imageIndex":2},{"imageOffset":17112076,"symbol":"v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&))","symbolLocation":11068,"imageIndex":2},{"imageOffset":502644382316,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511618876,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511618876,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511618876,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511543020,"imageIndex":3},{"imageOffset":502511537812,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502511492840,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643869976,"imageIndex":3},{"imageOffset":502643862348,"imageIndex":3},{"imageOffset":502643861480,"imageIndex":3},{"imageOffset":17792136,"symbol":"v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*)","symbolLocation":2080,"imageIndex":2},{"imageOffset":17790196,"symbol":"v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*)","symbolLocation":140,"imageIndex":2},{"imageOffset":16753032,"symbol":"v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)","symbolLocation":356,"imageIndex":2},{"imageOffset":97880728,"symbol":"node::EmitAsyncDestroy(node::Environment*, node::async_context)","symbolLocation":250948,"imageIndex":2},{"imageOffset":97884804,"symbol":"node::EmitAsyncDestroy(node::Environment*, node::async_context)","symbolLocation":255024,"imageIndex":2},{"imageOffset":97884500,"symbol":"node::EmitAsyncDestroy(node::Environment*, node::async_context)","symbolLocation":254720,"imageIndex":2},{"imageOffset":97620936,"symbol":"node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>)","symbolLocation":120,"imageIndex":2},{"imageOffset":3093584,"symbol":"node::FreeArrayBufferAllocator(node::ArrayBufferAllocator*)","symbolLocation":18168,"imageIndex":2},{"imageOffset":2590912,"symbol":"v8::internal::compiler::RawMachineAssembler::TargetParameter()","symbolLocation":5948,"imageIndex":2},{"imageOffset":31587540,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":3293140,"imageIndex":2},{"imageOffset":31600844,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":3306444,"imageIndex":2},{"imageOffset":31585944,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":3291544,"imageIndex":2},{"imageOffset":4457152,"symbol":"v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*)","symbolLocation":13620,"imageIndex":2},{"imageOffset":4461284,"symbol":"v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*)","symbolLocation":17752,"imageIndex":2},{"imageOffset":4460156,"symbol":"v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*)","symbolLocation":16624,"imageIndex":2},{"imageOffset":4454788,"symbol":"v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*)","symbolLocation":11256,"imageIndex":2},{"imageOffset":4456016,"symbol":"v8::internal::compiler::BasicBlock::set_loop_header(v8::internal::compiler::BasicBlock*)","symbolLocation":12484,"imageIndex":2},{"imageOffset":1798524,"symbol":"ElectronMain","symbolLocation":128,"imageIndex":2},{"imageOffset":20620,"symbol":"start","symbolLocation":520,"imageIndex":0}]},{"id":2317842,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":4}]},{"id":2317843,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":4}]},{"id":2317849,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":4}]},{"id":2317865,"name":"ThreadPoolServiceThread","frames":[{"imageOffset":54104,"symbol":"kevent64","symbolLocation":8,"imageIndex":5},{"imageOffset":44586348,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16291948,"imageIndex":2},{"imageOffset":44300024,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16005624,"imageIndex":2},{"imageOffset":44098220,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":15803820,"imageIndex":2},{"imageOffset":44401036,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16106636,"imageIndex":2},{"imageOffset":44318284,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16023884,"imageIndex":2},{"imageOffset":44401408,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16107008,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317866,"name":"ThreadPoolForegroundWorker","frames":[{"imageOffset":6320,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":7456,"symbol":"mach_msg","symbolLocation":76,"imageIndex":5},{"imageOffset":44559500,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16265100,"imageIndex":2},{"imageOffset":44374892,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16080492,"imageIndex":2},{"imageOffset":44377144,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16082744,"imageIndex":2},{"imageOffset":44376416,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16082016,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317867,"name":"ThreadPoolBackgroundWorker","frames":[{"imageOffset":6320,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":7456,"symbol":"mach_msg","symbolLocation":76,"imageIndex":5},{"imageOffset":44559500,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16265100,"imageIndex":2},{"imageOffset":44374892,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16080492,"imageIndex":2},{"imageOffset":44376712,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16082312,"imageIndex":2},{"imageOffset":44376284,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16081884,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317868,"name":"ThreadPoolForegroundWorker","frames":[{"imageOffset":6320,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":7456,"symbol":"mach_msg","symbolLocation":76,"imageIndex":5},{"imageOffset":44559500,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16265100,"imageIndex":2},{"imageOffset":44374892,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16080492,"imageIndex":2},{"imageOffset":44376712,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16082312,"imageIndex":2},{"imageOffset":44376416,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16082016,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317869,"name":"Chrome_IOThread","frames":[{"imageOffset":54104,"symbol":"kevent64","symbolLocation":8,"imageIndex":5},{"imageOffset":44586348,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16291948,"imageIndex":2},{"imageOffset":44300024,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16005624,"imageIndex":2},{"imageOffset":44098220,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":15803820,"imageIndex":2},{"imageOffset":44401036,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16106636,"imageIndex":2},{"imageOffset":31605404,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":3311004,"imageIndex":2},{"imageOffset":44401408,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16107008,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317870,"name":"MemoryInfra","frames":[{"imageOffset":6320,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":7456,"symbol":"mach_msg","symbolLocation":76,"imageIndex":5},{"imageOffset":44559500,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16265100,"imageIndex":2},{"imageOffset":44559204,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16264804,"imageIndex":2},{"imageOffset":43977992,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":15683592,"imageIndex":2},{"imageOffset":44300024,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16005624,"imageIndex":2},{"imageOffset":44098220,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":15803820,"imageIndex":2},{"imageOffset":44401036,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16106636,"imageIndex":2},{"imageOffset":44401408,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16107008,"imageIndex":2},{"imageOffset":44511456,"symbol":"v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*)","symbolLocation":16217056,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317871,"frames":[{"imageOffset":31776,"symbol":"kevent","symbolLocation":8,"imageIndex":5},{"imageOffset":1796084,"symbol":"uv_free_interface_addresses","symbolLocation":1196,"imageIndex":2},{"imageOffset":1728564,"symbol":"uv_run","symbolLocation":356,"imageIndex":2},{"imageOffset":98638888,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":150276,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317872,"frames":[{"imageOffset":21104,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":5},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":4},{"imageOffset":1775952,"symbol":"uv_cond_wait","symbolLocation":12,"imageIndex":2},{"imageOffset":98639320,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":150708,"imageIndex":2},{"imageOffset":98630680,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":142068,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317873,"frames":[{"imageOffset":21104,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":5},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":4},{"imageOffset":1775952,"symbol":"uv_cond_wait","symbolLocation":12,"imageIndex":2},{"imageOffset":98639320,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":150708,"imageIndex":2},{"imageOffset":98630680,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":142068,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317874,"frames":[{"imageOffset":21104,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":5},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":4},{"imageOffset":1775952,"symbol":"uv_cond_wait","symbolLocation":12,"imageIndex":2},{"imageOffset":98639320,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":150708,"imageIndex":2},{"imageOffset":98630680,"symbol":"node::CommonEnvironmentSetup::context() const","symbolLocation":142068,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]},{"id":2317875,"frames":[{"imageOffset":6380,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":1777500,"symbol":"uv_sem_wait","symbolLocation":24,"imageIndex":2},{"imageOffset":99079168,"symbol":"node::SetTracingController(v8::TracingController*)","symbolLocation":48092,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":4},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":4}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "arm64e",
"base" : 4312170496,
"size" : 393216,
"uuid" : "d9c2a46e-8dc4-3950-9d6a-f799e8ccb683",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4328030208,
"size" : 180224,
"uuid" : "830b89bd-c6a4-3b3a-8155-506fcc69df79",
"path" : "\/Applications\/ElectronMail.app\/Contents\/Resources\/app.asar.unpacked\/node_modules\/sodium-native\/build\/Release\/sodium.node",
"name" : "sodium.node"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4440276992,
"CFBundleIdentifier" : "com.github.Electron.framework",
"size" : 117374976,
"uuid" : "4c4c44ce-5555-3144-a1a6-7d10a1f2e49b",
"path" : "\/Applications\/ElectronMail.app\/Contents\/Frameworks\/Electron Framework.framework\/Versions\/A\/Electron Framework",
"name" : "Electron Framework",
"CFBundleVersion" : "19.0.8"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 7301681152,
"size" : 53248,
"uuid" : "42166a2c-89a9-3c38-a215-f028544cea23",
"path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
"name" : "libsystem_pthread.dylib"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 7301451776,
"size" : 229376,
"uuid" : "03f48dc5-caa7-3678-af61-1a3c7fa8b06e",
"path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
"name" : "libsystem_kernel.dylib"
}
],
"sharedCache" : {
"base" : 7298383872,
"size" : 3136077824,
"uuid" : "513553bb-5ca5-3b9e-a613-b0603ffe3038"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=1.2G resident=0K(0%) swapped_out_or_unallocated=1.2G(100%)\nWritable regions: Total=766.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=766.7M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nColorSync 16K 1 \nCoreGraphics 16K 1 \nCoreServices 176K 1 \nDispatch continuations 64.0M 1 \nKernel Alloc Once 32K 1 \nMALLOC 106.2M 30 \nMALLOC guard page 96K 6 \nMALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated)\nMemory Tag 253 32.0G 23 \nMemory Tag 255 4.1G 16 \nSTACK GUARD 56.2M 15 \nStack 89.8M 15 \nVM_ALLOCATE 8224K 3 \n__AUTH 2597K 308 \n__AUTH_CONST 20.3M 501 \n__CTF 756 1 \n__DATA 19.1M 498 \n__DATA_CONST 23.8M 512 \n__DATA_DIRTY 1793K 214 \n__FONT_DATA 4K 1 \n__LINKEDIT 581.0M 9 \n__OBJC_CONST 3634K 279 \n__OBJC_RO 83.0M 1 \n__OBJC_RW 3152K 1 \n__TEXT 606.6M 529 \n__UNICODE 592K 1 \ndyld private memory 1024K 1 \nmapped file 64.3M 12 \nshared memory 848K 13 \n=========== ======= ======= \nTOTAL 38.3G 2999 \nTOTAL, minus reserved VM space 37.8G 2999 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "5fc94383418129005b4e9ae0",
"factorPackIds" : {
},
"deploymentId" : 240000401
},
{
"rolloutId" : "60da5e84ab0ca017dace9abf",
"factorPackIds" : {
},
"deploymentId" : 240000008
}
],
"experiments" : [
]
}
}
Model: MacBookAir10,1, BootROM 8419.0.113.0.1, proc 8:4:4 processors, 16 GB, SMC
Graphics: Apple M1, Apple M1, Built-In
Display: LG HDR 4K, 5120 x 2880 (5K/UHD+ - Ultra High Definition Plus), Main, MirrorOff, Online
Memory Module: LPDDR4
AirPort: Wi-Fi, wl0: Mar 23 2022 19:57:59 version 18.60.27.0.7.8.129 FWID 01-570be953
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: hub_device
USB Device: USB Receiver
USB Device: USB Controls
USB Device: USB31Bus
Thunderbolt Bus: MacBook Air, Apple Inc.
Thunderbolt Bus: MacBook Air, Apple Inc.
Thanks everyone for testing. The libsodium/sodium-native native dependency appears to be crashing in both cases (same issue). The https://github.com/sodium-friends/sodium-native/issues/145 says that it's supposed to work on M1 hardware. Pinging @mafintosh guessing maybe there is a known quick fix for the crash like this on M1 hardware.
Just noticed that you go with
macos-12
image, but I usemacos-latest
which is currently 11.6.7. So if the provided in the previous message build still doesn't work, there is a room for another try (macos-latest => macos-12
switch forarm64
build).
Going to trigger a new build on macos-12 CI system, just in case.
sodium should def work on m1. Are you sure electron-rebuild isn’t rebuilding it? That’s normally what goes wrong for users, instead of using the prebuild
Going to trigger a new build on macos-12 CI system, just in case.
A new build to test is uploaded here.
Are you sure electron-rebuild isn’t rebuilding it?
All the native deps in this project by design get compiled on the packaging stage (triggered by electron-builder => rebuild --verbose keytar@7.9.0 msgpackr-extract@2.0.2 sodium-native@3.3.0 spellchecker@3.7.0
and so on). It's used to work well on x64 arch systems, but now we are trying to ship arm64 build. I explicitly drop the prebuild-install
module and existing prebuilds. I understand that it complicates things for developers, but I'm ok to maintain it this way. The issue is that I don't have M1 hardware to test stuff at my side.
Btw, there are other sodium bindings available, including rust-based. So the last resort is replacing "sodium-native" with something else (I'd prefer a native module vs wasm-based solution). But it's successfully used in the project from day one (~5 years), and it's confirmed as working on arm64 arch, so I'd like to keep it here.
A new build to test is uploaded here.
Sorry, another crash report: https://p153.p0.n0.cdn.getcloudapp.com/items/o0uGJm6n/19ab666b-1cf1-4276-852b-0e36f31d4633.txt
Thanks. It looks the same, Code 4 Symbol missing
, related to libsodium.node
.
I've just compared sodium.node
size of x64/arm64, and it's 999584/318312, which looks suspicious (3x difference). So I think I should get it to the stage when arm64 libsodium.node
size looks similar to x64 and only then ask to test the build again.
sodium is already prebuilt for all platforms, all in the installed bundle. I’d strongly suggest just not to rebuild it, you’ll probably only run into trouble.
@mafintosh yep, I know that it's coming with prebuilds, and thanks for the warning. Still going to keep fighting it for a while (it works well on x64 arch after all without troubles). It generally feels better when I know how and can replicate the compiling at my side. It's about better control on things. For example, there were cases when prebuilds of some native deps were shipped in a sort of doubtful state, so I had to improve things a little (like specifying MACOSX_DEPLOYMENT_TARGET and lowering the Linux version to get as many old systems as possible compatible with "glibc" lib).
For sure. We do all of that already 🙂 Are you rebuilding for arm and x64 on the same macbook?
For sure. We do all of that already
Yep, I know (briefly looked into it before). I didn't mean your lib.
Are you rebuilding for arm and x64 on the same macbook?
I don't have any apple laptops (none of intel/m1 based). So it's just GH CI system, and then I ask guys to test stuff :sweat: Yes, this sounds like a terrifying dev experience, so I normally avoid handling the macOS-specific tasks :smile:
I had tons of trouble building for arm on GH so we actually do those manually with an macbook mini in our office. The sodium build is downloading the sodium static lib from the official sodium site when building. Maybe it's pulling down the wrong static build? How are you building it for arm?
How are you building it for arm?
Same way for all builds, via electron-builder
. It then triggers npm rebuild --verbose keytar@7.9.0 msgpackr-extract@2.0.2 sodium-native@3.3.0 spellchecker@3.7.0
command (weird, but there is no --arch=arm64
arg, maybe this is the issue), which triggers the install
package script, which I guess then with a support of node-gyp
does the trick. Currently trying some idea. If it doesn't work out, I guess I will be trying to trigger the build like described in https://www.electronjs.org/docs/latest/tutorial/using-native-node-modules So direct node-gyp rebuild
call (used this way before for other modules when was testing things, and it worked well).
The sodium build is downloading the sodium static lib from the official sodium site when building.
Yep, I've noticed that node deps/bin.js
trigger is specified in binding.gyp
.
How does electron-builder signal that it wants to rebuild for arm64 when running on x64?
How does electron-builder signal that it wants to rebuild for arm64 when running on x64?
It has an arg for this purpose and the log says that arm64 build takes place. I've noticed in the log, though, that the npm rebuild --verbose
command executed without the --arch=arm64
arg. So, maybe I should explicitly set the npm_config_arch + npm_config_target_arch
env vars or patch the electron-builder
a little (although, I think it has a working arm64 support as it's widely used and "universal" build support is already there for a while).
Could you try setting the PREBUILD_ARCH=arm64 env var when building for arm64? That is used here https://github.com/sodium-friends/sodium-native/blob/master/deps/bin.js#L29
It would be fantastic if we could get a version compiled and optimized for Apple Silicon.
(I believe this would require an upgrade to Electron 11.)