electron / electron/minimal-repro

Sample Hello World Electron app crashes when enabled with Hardened Runtime for Notarizing the MAC-App

Open
#335 3 comments 0 reactions 0 assignees View on GitHub
more-information-needed platform: macOS
Dominant language
JavaScript
Stars
11.4k
Forks
4.9k
Avg merge
3h 39m
Merged PRs (30d)
6

Description

Create a Sample Hello World Electron App
Downloaded from: github->electron/electron-quick-start

Package.json includes:
“devDependencies”: {
“electron”: “^5.0.8”,
“electron-packager”: “^14.0.2”

Codesign the contents of the project

Include and enable the Hardened Runtime in the codesign command for App file with entitlement plist file.


com.apple.security.cs.allow-unsigned-executable-memory

com.apple.security.network.client

com.apple.security.files.user-selected.read-write

com.apple.security.cs.allow-jit

com.apple.security.cs.allow-dyld-environment-variables

Try to launch the app file.
**Observation: Electron app seen crashed**
Crashed Thread Report:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0x00002d1a4a702040 0 + 49590941261888
1 com.github.Electron.framework 0x000000010b2e17f8 0x109a1f000 + 25962488
2 com.github.Electron.framework 0x000000010b2e03ee 0x109a1f000 + 25957358
3 com.github.Electron.framework 0x000000010b3765dd 0x109a1f000 + 26572253
4 com.github.Electron.framework 0x000000010b6b7d0b 0x109a1f000 + 29986059
5 com.github.Electron.framework 0x000000010b67ec00 0x109a1f000 + 29752320
6 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
7 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
8 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
9 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
10 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
11 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
12 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
13 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
14 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
15 com.github.Electron.framework 0x000000010b615660 0x109a1f000 + 29320800
16 com.github.Electron.framework 0x000000010b6153ed 0x109a1f000 + 29320173
17 com.github.Electron.framework 0x000000010b12253b 0x109a1f000 + 24130875
18 com.github.Electron.framework 0x000000010b12227b v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, int, v8::internal::Handlev8::internal::Object) + 203
19 com.github.Electron.framework 0x000000010ac8d65b v8::Function::Call(v8::Localv8::Context, v8::Localv8::Value, int, v8::Localv8::Value) + 459
20 com.github.Electron.framework 0x000000010bc6ad9b 0x109a1f000 + 35962267
21 com.github.Electron.framework 0x000000010bc6bffd 0x109a1f000 + 35966973
22 com.github.Electron.framework 0x000000010ae3571f 0x109a1f000 + 21063455
23 com.github.Electron.framework 0x000000010adf3b7e 0x109a1f000 + 20794238
24 com.github.Electron.framework 0x000000010adf2ffa 0x109a1f000 + 20791290
25 com.github.Electron.framework 0x000000010b6b7d0b 0x109a1f000 + 29986059
26 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
27 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
28 com.github.Electron.framework 0x000000010b617db7 0x109a1f000 + 29330871
29 com.github.Electron.framework 0x000000010b615660 0x109a1f000 + 29320800
30 com.github.Electron.framework 0x000000010b6153ed 0x109a1f000 + 29320173
31 com.github.Electron.framework 0x000000010b12253b 0x109a1f000 + 24130875
32 com.github.Electron.framework 0x000000010b12227b v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, int, v8::internal::Handlev8::internal::Object) + 203
33 com.github.Electron.framework 0x000000010ac8d65b v8::Function::Call(v8::Localv8::Context, v8::Localv8::Value, int, v8::Localv8::Value) + 459
34 com.github.Electron.framework 0x000000010ef331c4 0x109a1f000 + 89211332
35 com.github.Electron.framework 0x000000010ef333f4 0x109a1f000 + 89211892
36 com.github.Electron.framework 0x000000010bc97898 0x109a1f000 + 36145304
37 com.github.Electron.framework 0x000000010bc09995 0x109a1f000 + 35563925
38 com.github.Electron.framework 0x000000010a5766f0 0x109a1f000 + 11892464
39 com.github.Electron.framework 0x000000010a57af00 0x109a1f000 + 11910912
40 com.github.Electron.framework 0x000000010a575eb4 0x109a1f000 + 11890356
41 com.github.Electron.framework 0x000000010b93a6de 0x109a1f000 + 32618206
42 com.github.Electron.framework 0x000000010b93a351 0x109a1f000 + 32617297
43 com.github.Electron.framework 0x000000010d4e6e2f 0x109a1f000 + 61636143
44 com.github.Electron.framework 0x000000010b9397a4 0x109a1f000 + 32614308
45 com.github.Electron.framework 0x0000000109a214d4 AtomMain + 84
46 com.github.Electron 0x00000001099ec9b0 0x1099eb000 + 6576
47 libdyld.dylib 0x00007fff7dcd83d5 start + 1

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the crash with electron-quick-start, Electron ^5.0.8, electron-packager ^14.0.2, and the shown macOS Hardened Runtime entitlement plist. Compare the codesigned app's launch behavior with and without Hardened Runtime; done means the packaged app launches without crashing.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, javascript, macos
Domain
desktop, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.