microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.59k stars 29.03k forks source link

Insiders on macOS ARM64: Extension Host crashes (`SIGILL`, `EFAULT`, `EPIPE`) #113410

Closed andreialecu closed 3 years ago

andreialecu commented 3 years ago

Issue Type: Bug

I haven't seen this reported anywhere, so here goes.

Using the latest insiders version on macOS, I noticed that there are stability issues with extensions.

After some time running vscode, the extension host either crashes and needs to be restarted, or the code actions that trigger on saving a document start hanging.

I noticed that in the Developer Tools it frequently logs messages like:

Uncaught Exception:  Error: read EFAULT
    at Pipe.onStreamRead (internal/stream_base_commons.js:205:27)
t.log @ console.ts:137
Screenshot 2020-12-25 at 10 14 32

The EFAULT exceptions might be triggering this behavior.

This also hangs and spins forever:

Screenshot 2020-12-25 at 10 10 39

If I cancel it, then run Developer: Restart Extension Host it will then save properly.

(It's possible one of my extensions might be interfering as well, as I have a ton of them enabled - but I don't remember seeing this on Stable VSCode with Rosetta.)

VS Code version: Code - Insiders 1.53.0-insider (4a875e23d20b64504a818834f3fa4c40adb8d480, 2020-12-21T12:34:09.548Z) OS version: Darwin arm64 20.2.0

System Info |Item|Value| |---|---| |CPUs|undefined| |GPU Status|2d_canvas: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
webgl: enabled
webgl2: enabled| |Load (avg)|2, 3, 3| |Memory (System)|8.00GB (0.17GB free)| |Process Argv|--crash-reporter-id ea63df4b-e690-4545-96f3-6944dca865ad| |Screen Reader|no| |VM|0%|
Extensions (58) Extension|Author (truncated)|Version ---|---|--- better-comments|aar|2.1.0 vscode-base64|ada|0.1.0 vsc-rename-files|alf|2.1.0 ng-template|Ang|0.1100.2 vscode-color|ans|0.4.5 vscode-apollo|apo|1.18.0 vscode-zipfs|arc|2.2.2 folder-source-actions|bie|0.2.0 markdown-preview-github-styles|bie|0.1.6 path-intellisense|chr|2.3.0 react-toolkit|Cod|1.1.23 angular-schematics|cyr|4.7.0 vscode-eslint|dba|2.1.14 emulate|Die|1.4.0 es7-react-js-snippets|dsz|3.1.0 gitlens|eam|11.1.0 tsl-problem-matcher|eam|0.3.1 prettier-vscode|esb|5.8.0 vscode-todo-plus|fab|4.18.0 flow-for-vscode|flo|1.5.0 vscode-yarn|gam|1.7.1 beautify|Hoo|1.5.0 vscode-edit-csv|jan|0.5.3 Angular2|joh|11.0.0 vscode-peacock|joh|3.9.1 chat|kar|0.35.0 graphql-for-vscode|kum|1.15.3 vscode-wsl-workspacefolder|lfu|1.1.2 ftp-sync|luk|0.3.9 auto-barrel|mik|1.7.1 dotenv|mik|1.0.1 mongodb-vscode|mon|0.3.0 vscode-csscomb|mrm|5.3.2 vscode-docker|ms-|1.9.0 vscode-edge-devtools|ms-|1.1.1 remote-wsl|ms-|0.52.0 vscode-js-profile-flame|ms-|0.0.13 vsliveshare|ms-|1.0.3375 vsliveshare-audio|ms-|0.1.91 vsliveshare-pack|ms-|0.4.0 debugger-for-chrome|msj|4.12.11 vscode-react-native|msj|1.2.0 angular2-inline|nat|0.0.17 vscode-ios-common-files|Ort|1.0.5 vscode-react-native-storybooks|Ort|2.7.1 format-code-action|roh|0.0.1 vscode-coverage-gutters|rya|2.6.0 vscode-hexdump|sle|1.8.1 move-ts|str|1.12.0 theshukran-react-utils|the|1.0.2 gitflow|vec|1.2.1 es-quotes|vil|0.2.6 vscodeintellicode|Vis|1.2.10 vscode-wakatime|Wak|4.0.10 vscode-html-pug-convertor|way|0.1.1 vscode-ruby|win|0.27.0 code-template-tool|yua|0.6.2 sort-js-object-keys|zen|1.0.6 (2 theme extensions excluded)
A/B Experiments ``` vsliv695:30137379 vsins829:30139715 vsliv368:30146709 vsreu685:30147344 openlogontheside:30221882 python763:30178808 python383cf:30185419 vspor879:30202332 vspor708:30202333 vspor363:30204092 python504:30227505 vswsl492:30208929 wsl2promptcf:30219163 vstry914:30230485 pythonvsdeb440:30224570 unusedpromptcf:30219165 folderexplorercf:30219167 openfilemenucf:30219169 pythonvsded773:30223139 core-portspanel:30233467 ```
andreialecu commented 3 years ago

Possibly relevant, this is also in the developer tools log:

 WARN [File Watcher (chokidar)] Watcher is not using native fsevents library and is falling back to unefficient polling.
andreialecu commented 3 years ago

Also these from when Extension Host actually crashes:

Screenshot 2020-12-25 at 10 22 39
andreialecu commented 3 years ago

One other error I've been seeing in developer tools prior to an Extension Host crash:

ERR Request textDocument/codeAction failed with message: Cannot read .eslintignore file: /Users/andreialecu/Work/proj/.eslintignore
Error: EFAULT: bad address in system call argument, read: Error: Request textDocument/codeAction failed with message: Cannot read .eslintignore file: /Users/andreialecu/Work/proj/.eslintignore
Error: EFAULT: bad address in system call argument, read
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52031
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52325
    at Immediate.<anonymous> (/Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52690)
    at processImmediate (internal/timers.js:456:21)
andreialecu commented 3 years ago

New one:

[Extension Host] Error: Illegal argument    at Object.t.illegalArgument (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:50:803)    at file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1705:214    at d.invokeFunction (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1759:614)    at u._tryExecuteCommand (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:4214:45)    at file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:4213:814 (at _executeContributedCommand (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:707:780))
t.log @ /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:336
andreialecu commented 3 years ago

Possibly relevant, this is also in the developer tools log:

 WARN [File Watcher (chokidar)] Watcher is not using native fsevents library and is falling back to unefficient polling.

Likely relevant for this issue: https://github.com/fsevents/fsevents/issues/349

andreialecu commented 3 years ago

@deepak1556 if you need any further information kindly let me know.

I'm curious about one thing

Screenshot 2021-01-04 at 16 03 39

This seems to specify that it's running on node 12, but node 12 isn't compatible with arm64 (at least not the general purpose one). Only node 15 is.

Is this right?

Also, https://github.com/fsevents/fsevents/pull/350 has been merged and pending release as fsevents 2.3.0 which will hopefully happen today, and might help with the chokidar issue.

deepak1556 commented 3 years ago

Can you run the arm64 insiders in a new user data dir --user-data-dir <some-absolute-path> and see if the crash continues.

This seems to specify that it's running on node 12, but node 12 isn't compatible with arm64 (at least not the general purpose one). Only node 15 is.

The runtime is patched to work in electron.

andreialecu commented 3 years ago

@deepak1556 I ran:

code-insiders --user-data-dir `mktemp -d` .

Then had to use Reload Window from the command pallette due to some issues with extensions.

Still got the crash:

(hopefully Reload Window didn't mess with the data dir)

Screenshot 2021-01-05 at 11 26 19

Note that it happens randomly, I've seen it mostly happen when the angular app I'm running in the integrated terminal detects a code change and starts compiling. However, it can happen without any integrated terminal tasks running as well.

What I've been doing and helps a bit, was to run Workspaces: Duplicate in new window and run my Run task there (which spawns about 3 nodejs processes).

It's possible it is related to file change detection though. In this particular crash above, it crashed immediately after saving a file, and when angular started recompiling (running via ng serve).

andreialecu commented 3 years ago
Screenshot 2021-01-05 at 11 45 13

Also, at times, this pops up when saving a file and either: a) takes a long time, b) doesn't finish at all (waiting for minutes). I have to cancel it and Reload Window.

While this one was spinning, there was nothing relevant logged in the Developer tools, no warnings or errors.

andreialecu commented 3 years ago

Attaching the CPU profile of the vscode.git warning, which has been popping up repeatedly. git integration definitely seems slow, but not sure if it's git itself being slow or something else.

exthost-840d83.cpuprofile.zip

deepak1556 commented 3 years ago

Can you also try to remove the .vscode-insiders folder under home directory and see if the extension host crashes.

As for the git integration slowdown, its triggered by child_process.spawn calls based on your profile and the root issue is tracked in upstream https://github.com/electron/electron/issues/26143

andreialecu commented 3 years ago

I have disabled the Live Share Extension Pack which I wasn't really using and it seems that things are a lot better. I noticed it was taking part in the cpuprofile attached previously. 🤔

Not sure if this fixes it yet, but there haven't been any crashes in a while.

andreialecu commented 3 years ago

Can you also try to remove the .vscode-insiders folder under home directory and see if the extension host crashes.

FWIW, both VSCode Exploration and Insiders exhibit the problem, and I installed both fresh arm64 on a fresh macOS installation. This was a new Mac, so I didn't restore from anything.

The crashes have been super consistent for me, at least once every 10 minutes or so. If no one else reported this, it's probably a combination of the electron issue you linked and some extensions I'm using.

I'll keep monitoring whether disabling Live Share helped and report back.

deepak1556 commented 3 years ago

If the crash continues, can you start the app with --crash-reporter-directory <some-absolute-path>, crash dumps will be generated in that location, please attach it here. Thanks!

andreialecu commented 3 years ago

I've been trying real hard for the past hour to make it crash since disabling the Live Share pack, and I wasn't able to.

I assume the pack installs a code lens provider that runs git when hovering certain things in the editor. This seems somewhat inefficient on its part, besides the libuv issue you mentioned.

The performance, prior to disabling it, was horrible overall. I can't believe how smooth it is now. Thanks for pointing out that bug.

Just a heads up that fsevents@2.3.0 is out now with the arm64/x86_64 universal binary. I'm not sure what chokidar is used for, but perhaps bumping fsevents might fix the warning and improve performance as well.

deepak1556 commented 3 years ago

Just a heads up that fsevents@2.3.0 is out now with the arm64/x86_64 universal binary. I'm not sure what chokidar is used for, but perhaps bumping fsevents might fix the warning and improve performance as well.

Thanks for the work! chokidar just released a version with it. Will update shortly.

andreialecu commented 3 years ago

If the crash continues, can you start the app with --crash-reporter-directory <some-absolute-path>, crash dumps will be generated in that location, please attach it here. Thanks!

It looks like eventually it still crashed, even without the live share extension pack. It took way longer though. 🤔

Screenshot 2021-01-06 at 10 46 00

Going to run with crash dump reporting now.


Still seeing this logged btw:

   ERR Request textDocument/codeAction failed with message: Cannot read config file: /Users/andreialecu/Work/x/x-monorepo/packages/x-shared/package.json
Error: EFAULT: bad address in system call argument, read: Error: Request textDocument/codeAction failed with message: Cannot read config file: /Users/andreialecu/Work/x/x-monorepo/packages/x-shared/package.json
Error: EFAULT: bad address in system call argument, read
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52031
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52325
    at Immediate.<anonymous> (/Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52690)
    at processImmediate (internal/timers.js:456:21)

Have seen it a bunch of times, always related to dbaeumer.vscode-eslint.

andreialecu commented 3 years ago

@deepak1556 I just had another crash of the Extension Host, this time with a new code. SIGSEGV instead of SIGILL (first time I'm seeing that):

Screenshot 2021-01-06 at 15 01 11

Attaching crash dump:

09b42d44-5dd7-42ae-b463-3342d4c0e9aa.dmp.zip

That file was in the pending directory. The other directories were empty. Hopefully this is the right one.

andreialecu commented 3 years ago

Attaching a dump from a crash with code SIGILL this time.

ecc52cbe-9a56-4e06-828f-93fad3721831.dmp.zip

andreialecu commented 3 years ago

317404fe-25f1-40dd-bbc9-2578f632aeda.dmp.zip

deepak1556 commented 3 years ago

That file was in the pending directory. The other directories were empty. Hopefully this is the right one.

Yes thats the correct directory to look for dumps, symbolicated trace for SIGSEGV crash

Crash reason:  EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x110
Process uptime: 14992 seconds

Thread 35 (crashed)
 0  Electron Framework!node::inspector::TcpHolder::WriteRaw(std::__1::vector<char, std::__1::allocator<char> > const&, void (*)(uv_write_s*, int)) [inspector_socket.cc : 679 + 0x0]
     x0 = 0x00000001389dbe40    x1 = 0x000000000000000f
     x2 = 0x00000001389dbf30    x3 = 0x0000000000000007
     x4 = 0x00000001389f7220    x5 = 0x0000000000000001
     x6 = 0x0000000000000000    x7 = 0x0000000177021d7c
     x8 = 0x0000000000000000    x9 = 0x000000000000a007
    x10 = 0x0000000001040800   x11 = 0x0000000000040000
    x12 = 0x0000000000040000   x13 = 0x0000000001040800
    x14 = 0x0000000092b1b743   x15 = 0x0000000000007756
    x16 = 0x0000000000000d7f   x17 = 0x0000000000040000
    x18 = 0x0000000000000000   x19 = 0x00000001389dbe40
    x20 = 0x0000000102b8644c   x21 = 0x00000001389c9e00
    x22 = 0x0000000000000000   x23 = 0x0000000177022210
    x24 = 0x0000000000000269   x25 = 0x0000000137e90480
    x26 = 0x0000000127f2bb80   x27 = 0x0000000000000000
    x28 = 0x0000000137e90480    fp = 0x00000001770221f0
     lr = 0x0000000102b84e10    sp = 0x00000001770221b0
     pc = 0x0000000102b84e14
    Found by: given as instruction pointer in context
 1  Electron Framework!node::inspector::TcpHolder::WriteRaw(std::__1::vector<char, std::__1::allocator<char> > const&, void (*)(uv_write_s*, int)) [inspector_socket.cc : 679 + 0x4]
     fp = 0x0000000177022260    lr = 0x0000000102b86914
     sp = 0x0000000177022200    pc = 0x0000000102b84e10
    Found by: previous frame's frame pointer
 2  Electron Framework!node::inspector::(anonymous namespace)::WsHandler::Write(std::__1::vector<char, std::__1::allocator<char> >) [inspector_socket.cc : 612 + 0xc]
     fp = 0x00000001770222b0    lr = 0x0000000102b85414
     sp = 0x0000000177022270    pc = 0x0000000102b86914
    Found by: previous frame's frame pointer
 3  Electron Framework!node::inspector::InspectorSocket::Write(char const*, unsigned long) [inspector_socket.cc : 765 + 0x10]
     fp = 0x0000000177022360    lr = 0x0000000102b7f6dc
     sp = 0x00000001770222c0    pc = 0x0000000102b85414
    Found by: previous frame's frame pointer
 4  Electron Framework!node::inspector::(anonymous namespace)::RequestQueueData::RequestQueueData(uv_loop_s*)::'lambda'(uv_async_s*)::__invoke(uv_async_s*) [inspector_io.cc : 85 + 0xc]
     fp = 0x00000001770227c0    lr = 0x00000001003b202c
     sp = 0x0000000177022370    pc = 0x0000000102b7f6dc
    Found by: previous frame's frame pointer
 5  Electron Framework!uv__async_io [async.c : 163 + 0x4]
     fp = 0x000000017702a8a0    lr = 0x00000001003c23c8
     sp = 0x00000001770227d0    pc = 0x00000001003b202c
    Found by: previous frame's frame pointer
 6  Electron Framework!uv__io_poll [kqueue.c : 0 + 0x8]
     fp = 0x000000017702a920    lr = 0x00000001003b2468
     sp = 0x000000017702a8b0    pc = 0x00000001003c23c8
    Found by: previous frame's frame pointer
 7  Electron Framework!uv_run [core.c : 381 + 0x4]
     fp = 0x000000017702afc0    lr = 0x0000000102b7eeec
     sp = 0x000000017702a930    pc = 0x00000001003b2468
    Found by: previous frame's frame pointer
 8  Electron Framework!node::inspector::InspectorIo::ThreadMain() [inspector_io.cc : 321 + 0x8]
     fp = 0x000000017702afe0    lr = 0x000000019c75506c
     sp = 0x000000017702afd0    pc = 0x0000000102b7eeec
    Found by: previous frame's frame pointer
 9  libsystem_pthread.dylib!_pthread_start + 0x13c
     fp = 0x0000000000000000    lr = 0x3f4100019c74fda0
     sp = 0x000000017702aff0    pc = 0x000000019c75506c
    Found by: previous frame's frame pointer

this would be https://github.com/nodejs/node/issues/34833 , that issue reports its fixed in v14. We can ignore this for now.

deepak1556 commented 3 years ago

As for the SIGILL dumps,

Crash reason:  0x00000000 / 0x00000000
Crash address: 0x19c7230f8
Process uptime: 9411 seconds

Thread 0 (crashed)
 0  libsystem_kernel.dylib!__fork + 0x14
     x0 = 0x000000000000a0e3    x1 = 0x0000000000000000
     x2 = 0x0000000000000303    x3 = 0x000000000000002c
     x4 = 0x0000000000000507    x5 = 0x0000000000000000
     x6 = 0x0000000000000000    x7 = 0x0000002800000000
     x8 = 0x0000000000000000    x9 = 0x0000000104677e20
    x10 = 0x00000001fc650338   x11 = 0x0000000000087bbb
    x12 = 0x0000000000000002   x13 = 0x0000000000000000
    x14 = 0x0000000000000000   x15 = 0x0000000000000001
    x16 = 0x0000000000000002   x17 = 0x00000002021398c0
    x18 = 0x0000000000000000   x19 = 0x000000016b9545c8
    x20 = 0x000000016b954500   x21 = 0x0000000000000003
    x22 = 0x000000010b3f6e90   x23 = 0x000000016b954518
    x24 = 0x0000000000000003   x25 = 0x0000000000000000
    x26 = 0x000000010b3f6fe0   x27 = 0x0000000000000003
    x28 = 0x000000010a6a1154    fp = 0x000000016b9544b0
     lr = 0xff7a80019c6355bc    sp = 0x000000016b9544b0
     pc = 0x000000019c7230f8
    Found by: given as instruction pointer in context
 1  0xff7a80019c6355b8
     fp = 0x000000016b9544d0    lr = 0xff7a80019c6355bc
     sp = 0x000000016b9544c0    pc = 0xff7a80019c6355bc
    Found by: previous frame's frame pointer
 2  0xff7a80019c6355b8
     fp = 0x000000016b9545a0    lr = 0xaa468001046d4e90
     sp = 0x000000016b9544e0    pc = 0xff7a80019c6355bc
    Found by: previous frame's frame pointer
 3  0xaa468001046d4e8c
     fp = 0x000000016b9552b0    lr = 0x0000000106e757c8
     sp = 0x000000016b9545b0    pc = 0xaa468001046d4e90
    Found by: previous frame's frame pointer
 4  Electron Framework!node::(anonymous namespace)::ProcessWrap::Spawn(v8::FunctionCallbackInfo<v8::Value> const&) [process_wrap.cc : 258 + 0x4]
     fp = 0x000000016b955390    lr = 0x0000000104faa6f8
     sp = 0x000000016b9552c0    pc = 0x0000000106e757c8
    Found by: previous frame's frame pointer
 5  Electron Framework!v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [api-arguments-inl.h : 158 + 0x4]
     fp = 0x000000016b955450    lr = 0x0000000104faa4b8
     sp = 0x000000016b9553a0    pc = 0x0000000104faa6f8
    Found by: previous frame's frame pointer
 6  Electron Framework!v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [builtins-api.cc : 111 + 0x8]
     fp = 0x000000016b9554b0    lr = 0x0000000104fa9c78
     sp = 0x000000016b955460    pc = 0x0000000104faa4b8
    Found by: previous frame's frame pointer
 7  Electron Framework!v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [builtins-api.cc : 141 + 0x14]
     fp = 0x000000016b9554f0    lr = 0x000000010557276c
     sp = 0x000000016b9554c0    pc = 0x0000000104fa9c78
    Found by: previous frame's frame pointer
 8  Electron Framework!Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit + 0x68
     fp = 0x000000016b9555d0    lr = 0x00000001055028f4
     sp = 0x000000016b955500    pc = 0x000000010557276c
    Found by: previous frame's frame pointer
 9  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955650    lr = 0x00000001055028f4
     sp = 0x000000016b9555e0    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
10  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b9556f0    lr = 0x00000001055028f4
     sp = 0x000000016b955660    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
11  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955730    lr = 0x00000001054f9a38
     sp = 0x000000016b955700    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
12  Electron Framework!Builtins_ArgumentsAdaptorTrampoline + 0xd4
     fp = 0x000000016b955820    lr = 0x00000001055028f4
     sp = 0x000000016b955740    pc = 0x00000001054f9a38
    Found by: previous frame's frame pointer
13  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955860    lr = 0x00000001054f9a38
     sp = 0x000000016b955830    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
14  Electron Framework!Builtins_ArgumentsAdaptorTrampoline + 0xd4
     fp = 0x000000016b955940    lr = 0x00000001055028f4
     sp = 0x000000016b955870    pc = 0x00000001054f9a38
    Found by: previous frame's frame pointer
15  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955990    lr = 0x00000001054f9a38
     sp = 0x000000016b955950    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
16  Electron Framework!Builtins_ArgumentsAdaptorTrampoline + 0xd4
     fp = 0x000000016b955a10    lr = 0x00000001055028f4
     sp = 0x000000016b9559a0    pc = 0x00000001054f9a38
    Found by: previous frame's frame pointer
17  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955a80    lr = 0x00000001055028f4
     sp = 0x000000016b955a20    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
18  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     fp = 0x000000016b955ac0    lr = 0x00000001055c245c
     sp = 0x000000016b955a90    pc = 0x00000001055028f4
    Found by: previous frame's frame pointer
19  Electron Framework!Builtins_PromiseFulfillReactionJob + 0x38
     fp = 0x000000016b955b20    lr = 0x0000000105523920
     sp = 0x000000016b955ad0    pc = 0x00000001055c245c
    Found by: previous frame's frame pointer
20  Electron Framework!Builtins_RunMicrotasks + 0x29c
     fp = 0x000000016b955b68    lr = 0x00000001054fff48
     sp = 0x000000016b955b30    pc = 0x0000000105523920
    Found by: previous frame's frame pointer
21  Electron Framework!Builtins_JSRunMicrotasksEntry + 0xa4
     fp = 0xffffffffffffffff    lr = 0x0000298c0000a6d8
     sp = 0x000000016b955b78    pc = 0x00000001054fff48
    Found by: previous frame's frame pointer
22  Electron Framework!Builtins_JSConstructEntry + 0x11c
     sp = 0x000000016b955b98    pc = 0x00000001054ffea0
    Found by: stack scanning
23  Electron Framework!v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [simulator.h : 142 + 0x4]
     sp = 0x000000016b955bd0    pc = 0x0000000104ffff5c
    Found by: stack scanning
24  Electron Framework!v8::internal::LoadIC::Load(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, bool, v8::internal::Handle<v8::internal::Object>) [ic.cc : 477 + 0x4]
     sp = 0x000000016b955c30    pc = 0x00000001050b8534
    Found by: stack scanning
25  Electron Framework!v8::internal::Runtime_LoadIC_Miss(int, unsigned long*, v8::internal::Isolate*) [ic.cc : 2343 + 0x14]
     sp = 0x000000016b955d00    pc = 0x00000001050c0634
    Found by: stack scanning
26  Electron Framework!v8::internal::Runtime_DefineDataPropertyInLiteral(int, unsigned long*, v8::internal::Isolate*) [runtime-object.cc : 953 + 0x14]
     sp = 0x000000016b955d10    pc = 0x0000000105231084
    Found by: stack scanning
27  Electron Framework!v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [execution.cc : 428 + 0x8]
     sp = 0x000000016b955da0    pc = 0x0000000105000424
    Found by: stack scanning
28  Electron Framework!Builtins_InterpreterEntryTrampoline + 0xfe
     sp = 0x000000016b955dd0    pc = 0x00000001055028e2
    Found by: stack scanning
29  Electron Framework!v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*, v8::internal::MaybeHandle<v8::internal::Object>*) [execution.cc : 505 + 0x4]
     sp = 0x000000016b955e00    pc = 0x00000001050004ec
    Found by: stack scanning
30  Electron Framework!v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [microtask-queue.cc : 165 + 0xc]
     sp = 0x000000016b955e60    pc = 0x0000000105015128
    Found by: stack scanning
31  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     sp = 0x000000016b955e80    pc = 0x00000001055028f4
    Found by: stack scanning
32  Electron Framework!Builtins_InterpreterEntryTrampoline + 0x110
     sp = 0x000000016b955ef0    pc = 0x00000001055028f4
    Found by: stack scanning
33  Electron Framework!v8::internal::MicrotaskQueue::PerformCheckpoint(v8::Isolate*) [microtask-queue.cc : 117 + 0x0]
     sp = 0x000000016b955f70    pc = 0x0000000105014f50
    Found by: stack scanning
34  Electron Framework!Builtins_CallApiCallback + 0xd0
     sp = 0x000000016b955f90    pc = 0x0000000105503bb4
    Found by: stack scanning
35  Electron Framework!Builtins_CallApiCallback + 0xd0
     sp = 0x000000016b955f98    pc = 0x0000000105503bb4
    Found by: stack scanning
36  Electron Framework!Builtins_JSEntryTrampoline + 0xa8
     sp = 0x000000016b9560a0    pc = 0x000000010550006c
    Found by: stack scanning
37  Electron Framework!Builtins_JSEntry + 0xa4
     sp = 0x000000016b9560d0    pc = 0x00000001054ffd08
    Found by: stack scanning
38  Electron Framework!Builtins_ConstructProxy + 0x39c
     sp = 0x000000016b956130    pc = 0x00000001054ffc60
    Found by: stack scanning
39  Electron Framework!v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [simulator.h : 142 + 0x14]
     sp = 0x000000016b956170    pc = 0x0000000104ffffd0
    Found by: stack scanning
40  Electron Framework!v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [simulator.h : 142 + 0x14]
     sp = 0x000000016b9561e0    pc = 0x0000000104ffffd0
    Found by: stack scanning
41  Electron Framework!v8::internal::LookupIterator::Delete() [lookup.cc : 669 + 0xc]
     sp = 0x000000016b9562a0    pc = 0x0000000105174148
    Found by: stack scanning
42  Electron Framework!v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::Maybe<v8::internal::ShouldThrow>, v8::internal::StoreOrigin) [objects.cc : 2816 + 0xc]
     sp = 0x000000016b9562b0    pc = 0x0000000105191864
    Found by: stack scanning
43  Electron Framework!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>*) [execution.cc : 462 + 0x4]
     sp = 0x000000016b956340    pc = 0x0000000104fff4f8
    Found by: stack scanning
44  Electron Framework!v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) [api.cc : 4994 + 0x14]
     sp = 0x000000016b9563d0    pc = 0x0000000104f86f48
    Found by: stack scanning
45  Electron Framework!node::InternalCallbackScope::Close() [callback.cc : 144 + 0x8]
     sp = 0x000000016b9564f0    pc = 0x0000000106d5b6ec
    Found by: stack scanning
46  Electron Framework!node::InternalMakeCallback(node::Environment*, v8::Local<v8::Object>, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context) [callback.cc : 197 + 0x4]
     sp = 0x000000016b956560    pc = 0x0000000106d5ba68
    Found by: stack scanning
47  Electron Framework!v8::internal::JSArrayBuffer::Attach(std::__1::shared_ptr<v8::internal::BackingStore>) [js-array-buffer.cc : 113 + 0x4]
     sp = 0x000000016b9565b0    pc = 0x0000000105140bc0
    Found by: stack scanning
48  Electron Framework!v8::internal::JSArrayBuffer::Setup(v8::internal::SharedFlag, std::__1::shared_ptr<v8::internal::BackingStore>) [js-array-buffer.cc : 51 + 0x8]
     sp = 0x000000016b9565f0    pc = 0x0000000105140af8
    Found by: stack scanning
49  Electron Framework!node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) [async_wrap.cc : 769 + 0x1c]
     sp = 0x000000016b956690    pc = 0x0000000106d6c4c0
    Found by: stack scanning
50  Electron Framework!node::StreamBase::CallJSOnreadMethod(long, v8::Local<v8::ArrayBuffer>, unsigned long, node::StreamBase::StreamBaseJSChecks) [stream_base.cc : 346 + 0x10]
     sp = 0x000000016b9566f0    pc = 0x0000000106e7a02c
    Found by: stack scanning
51  Electron Framework!node::EmitToJSStreamListener::OnStreamRead(long, uv_buf_t const&) [stream_base.cc : 0 + 0x10]
     sp = 0x000000016b956720    pc = 0x0000000106e7bed8
    Found by: stack scanning
52  Electron Framework!node::LibuvStreamWrap::OnUvRead(long, uv_buf_t const*) [stream_base-inl.h : 126 + 0x10]
     sp = 0x000000016b956790    pc = 0x0000000106e80710
    Found by: stack scanning
53  Electron Framework!node::LibuvStreamWrap::ReadStart()::$_1::__invoke(uv_handle_s*, unsigned long, uv_buf_t*) [stream_wrap.cc : 218 + 0x4]
     sp = 0x000000016b9567c0    pc = 0x0000000106e80ed0
    Found by: stack scanning
54  Electron Framework!uv__stream_io [stream.c : 1239 + 0xc]
     sp = 0x000000016b956810    pc = 0x00000001046d6f80
    Found by: stack scanning
deepak1556 commented 3 years ago

Both the dumps indicate the crash happens after call to fork. I am not sure what the cause is here, but it would be a side effect of having all those child process spawn calls being delayed. In your case two extensions definitely standout from the devtools log, can you disable vscode.git and eamodio.gitlens ?

andreialecu commented 3 years ago

Interesting.

Could you clarify what the purpose of disabling them would be? To see if further crashes occur?

vscode.git, being the built-in git plugin is pretty useful :)

Should I perhaps try using this workaround instead: https://github.com/microsoft/vscode/issues/105446#issuecomment-727079169 ?

deepak1556 commented 3 years ago

Could you clarify what the purpose of disabling them would be? To see if further crashes occur?

Just to reduce the number of fork calls being made and see if the crash happens.

Yes you can also try that workaround, but I would like to find out the extension causing this issue first.

andreialecu commented 3 years ago

One other thing that I'm not sure is relevant or not.

Separate from vscode, I'm running node 15.5.0 compiled to arm64.

I've seen EFAULT, EPIPE in the vscode terminal while running nodejs apps at random times. I need to restart them relatively often. Streams seem to be failing in general for random reasons that I haven't been able to figure out yet.

The above is when running nestjs or other express based servers.

I disabled vscode.git and eamodio.gitlens as per your request and will update on the outcome.

Example from just now:

Screenshot 2021-01-07 at 02 44 06
andreialecu commented 3 years ago

I have not seen any crashes since disabling vscode.git and eamodio.gitlens in several hours of usage. By now there would've definitely been a crash.

The experience overall has been way smoother without the git integration. It would stutter quite a lot previously. Seems like https://github.com/libuv/libuv/pull/3064 might be complete soon and hopefully this can be resolved.

Note however that I still see these in the developer tools:

[IPC Library: Search] Uncaught Exception:  Error: read EFAULT
    at Pipe.onStreamRead (internal/stream_base_commons.js:205:27)

ERR Request textDocument/codeAction failed with message: Cannot read .eslintignore file: /Users/andreialecu/.../.eslintignore
Error: EFAULT: bad address in system call argument, read: Error: Request textDocument/codeAction failed with message: Cannot read .eslintignore file: /Users/andreialecu/.../.eslintignore
Error: EFAULT: bad address in system call argument, read
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52031
    at /Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52325
    at Immediate.<anonymous> (/Users/andreialecu/.vscode-insiders/extensions/dbaeumer.vscode-eslint-2.1.14/client/out/extension.js:1:52690)
    at processImmediate (internal/timers.js:456:21)

I haven't noticed anything particularly wrong caused by them though.

These random EFAULT's have been reported on macOS in Github Desktop recently here: https://github.com/desktop/desktop/issues/11258 https://github.com/desktop/desktop/issues/11325

(not sure if these are from arm64 or not, but they're both Big Sur - 10.16.0 seems to be the same as macOS 11)

Like mentioned in my previous comment: I also get these errors in plain nodejs apps, and I also opened https://github.com/nodejs/node/issues/36826. Not sure what's going on.

deepak1556 commented 3 years ago

I have not seen any crashes since disabling vscode.git and eamodio.gitlens in several hours of usage. By now there would've definitely been a crash.

Thanks for confirming.

As for the EFAULT errors, both the extensions search, eslint that throws it work with child processes. I think this might be another side effect of the fork issue, lets check back once the libuv fix is available.

andreialecu commented 3 years ago

Perhaps relevant for an edge case that mentions SIGILL on M1 macs:

https://openradar.appspot.com/FB8922558

andreialecu commented 3 years ago

Also relevant after reading the report above, I'm using the 8GB of ram M1, and swapping occurs very frequently due to memory pressure.

From my experience, the SIGILL crashes occur while there's a lot of memory pressure, and potentially while something is being swapped. Not sure if issue is with Electron, libuv, node, or macOS.

Apparently, the macOS ARM64 kernel has a bug where when a signal arrives and the signal stack is not currently faulted in, it may kill the program with a SIGILL. Work around it by mlock the signal stacks.

See: https://github.com/golang/go/commit/7f688d18c0ae6df3e895d21799b8ece7d5941293

andreialecu commented 3 years ago

@deepak1556 an update. I have replaced the 8GB Mac Mini with a 16GB of RAM one.

The SIGILL crashes seem to have stopped completely. This definitely confirms the findings in: https://openradar.appspot.com/FB8922558

To quote it:

In the wild, the bug occurs most readily on a system under heavy load (particularly, memory pressure).

I'm not sure whether this should be patched in Electron or Node or if Apple will eventually fix it in the macOS kernel, but it seems it will lead to a bad experience on 8GB of RAM M1s unless addressed somehow.

Also see: https://github.com/libuv/libuv/issues/3095#issuecomment-761241067

andreialecu commented 3 years ago

Since upgrading to the 16 GB M1 I haven't seen SIGILL at all, but today, after a reboot, I got a new SIGTRAP crash with these details in it:

Extension host terminated unexpectedly. Code:  null  Signal:  SIGTRAP
## Fatal error in , line 0# ignored####FailureMessage Object: 0x16d1ea9f8 1: 0x10557ead8 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 2: 0x1078fe04c v8::internal::compiler::ZoneStats::GetCurrentAllocatedBytes() const [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 3: 0x106523c38 v8::internal::wasm::NativeModule::NativeModule(v8::internal::wasm::WasmEngine*, v8::internal::wasm::WasmFeatures const&, v8::internal::VirtualMemory, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, std::__1::shared_ptr<v8::internal::Counters>, std::__1::shared_ptr<v8::internal::wasm::NativeModule>*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 4: 0x1039e88c4 v8::internal::wasm::NativeModule::AddCodeSpace(v8::base::AddressRegion, v8::internal::wasm::WasmCodeAllocator::OptionalLock const&) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 5: 0x106524f2c v8::internal::wasm::NativeModule::FreeCode(v8::internal::Vector<v8::internal::wasm::WasmCode* const>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 6: 0x106532748 v8::internal::wasm::WasmEngine::FreeDeadCodeLocked(std::__1::unordered_map<v8::internal::wasm::NativeModule*, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> >, std::__1::hash<v8::internal::wasm::NativeModule*>, std::__1::equal_to<v8::internal::wasm::NativeModule*>, std::__1::allocator<std::__1::pair<v8::internal::wasm::NativeModule* const, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> > > > > const&) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 7: 0x106531060 v8::internal::wasm::WasmEngine::PotentiallyFinishCurrentGC() [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 8: 0x106531ec8 v8::internal::wasm::WasmEngine::ReportLiveCodeForGC(v8::internal::Isolate*, v8::internal::Vector<v8::internal::wasm::WasmCode*>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 9: 0x106531f94 v8::internal::wasm::WasmEngine::ReportLiveCodeFromStackForGC(v8::internal::Isolate*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]10: 0x10375a01c v8::internal::StackGuard::HandleInterrupts() [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]11: 0x10396a744 v8::internal::RegExp::Exec(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSRegExp>, v8::internal::Handle<v8::internal::String>, int, v8::internal::Handle<v8::internal::RegExpMatchInfo>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]12: 0x103cb4e8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]13: 0x103c451f8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]14: 0x103cea264 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]15: 0x103ce9fb4 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]16: 0x103ce32b4 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]17: 0x103d4b024 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]18: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]19: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]20: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]21: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]22: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]23: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]24: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]25: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]26: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]27: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]28: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]29: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]30: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]31: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]32: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]33: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]34: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]35: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]36: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]37: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]38: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]39: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]40: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]41: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]42: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]43: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]44: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]45: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]46: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]47: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]48: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]49: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]50: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]51: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]52: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]53: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]54: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]55: 0x103c3c298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]56: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]57: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]58: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]59: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]60: 0x103c41a48 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]61: 0x103d47490 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]62: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]63: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]64: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]65: 0x103c45154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]66: 0x103d04cbc v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]67: 0x103c66180 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]68: 0x103c427a8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]69: 0x38b20000a6d8 

I wasn't running with crash dump reporting, so I unfortunately don't have more details.

andreialecu commented 3 years ago
## Fatal error in , line 0# ignored####FailureMessage Object: 0x16da8e868 1: 0x104f12ad8 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 2: 0x10729204c v8::internal::compiler::ZoneStats::GetCurrentAllocatedBytes() const [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 3: 0x105eb7c38 v8::internal::wasm::NativeModule::NativeModule(v8::internal::wasm::WasmEngine*, v8::internal::wasm::WasmFeatures const&, v8::internal::VirtualMemory, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, std::__1::shared_ptr<v8::internal::Counters>, std::__1::shared_ptr<v8::internal::wasm::NativeModule>*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 4: 0x10337c8c4 v8::internal::wasm::NativeModule::AddCodeSpace(v8::base::AddressRegion, v8::internal::wasm::WasmCodeAllocator::OptionalLock const&) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 5: 0x105eb8f2c v8::internal::wasm::NativeModule::FreeCode(v8::internal::Vector<v8::internal::wasm::WasmCode* const>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 6: 0x105ec6748 v8::internal::wasm::WasmEngine::FreeDeadCodeLocked(std::__1::unordered_map<v8::internal::wasm::NativeModule*, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> >, std::__1::hash<v8::internal::wasm::NativeModule*>, std::__1::equal_to<v8::internal::wasm::NativeModule*>, std::__1::allocator<std::__1::pair<v8::internal::wasm::NativeModule* const, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> > > > > const&) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 7: 0x105ec5060 v8::internal::wasm::WasmEngine::PotentiallyFinishCurrentGC() [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 8: 0x105ec5ec8 v8::internal::wasm::WasmEngine::ReportLiveCodeForGC(v8::internal::Isolate*, v8::internal::Vector<v8::internal::wasm::WasmCode*>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework] 9: 0x105ec5f94 v8::internal::wasm::WasmEngine::ReportLiveCodeFromStackForGC(v8::internal::Isolate*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]10: 0x1030ee01c v8::internal::StackGuard::HandleInterrupts() [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]11: 0x1032fe744 v8::internal::RegExp::Exec(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSRegExp>, v8::internal::Handle<v8::internal::String>, int, v8::internal::Handle<v8::internal::RegExpMatchInfo>) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]12: 0x103648e8c v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]13: 0x1035d91f8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]14: 0x1035d5a48 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]15: 0x1036db490 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]16: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]17: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]18: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]19: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]20: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]21: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]22: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]23: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]24: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]25: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]26: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]27: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]28: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]29: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]30: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]31: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]32: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]33: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]34: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]35: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]36: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]37: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]38: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]39: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]40: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]41: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]42: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]43: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]44: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]45: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]46: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]47: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]48: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]49: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]50: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]51: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]52: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]53: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]54: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]55: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]56: 0x1035d0298 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]57: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]58: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]59: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]60: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]61: 0x1035d5a48 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]62: 0x1036db490 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]63: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]64: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]65: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]66: 0x1035d9154 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]67: 0x103698cbc v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]68: 0x1035fa180 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]69: 0x1035d67a8 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]70: 0x8a10000a6d8 

Slightly different stack trace. The crash seems to be consistent and happens all the time now.

I'm also using macOS Big Sur 11.2 beta, and the latest Insiders.

uname -a
Darwin Andreis-Mac-mini.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 14 14:38:22 PST 2021; root:xnu-7195.81.2~2/RELEASE_ARM64_T8101 arm64
Version: 1.53.0-insider
Commit: d2cbc66835f9d128ab1cb190c3d33adc365764a2
Date: 2021-01-25T05:14:14.732Z
Electron: 11.2.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: 8.7.220.31-electron.0
OS: Darwin arm64 20.3.0

Archive.zip

Crash dumps attached above.

andreialecu commented 3 years ago

Seems that I can reproduce the crash above outside of VSCode, even in a plain Terminal simply by running yarn. (more specifically yarn 2, which uses wasm for some unzip functionality)

macOS Beta 11.2 broke node 15.6 for some reason.

I opened: https://github.com/nodejs/node/issues/37061

deepak1556 commented 3 years ago

Thanks for the report! worth reporting with a minimal test case to v8 repo https://bugs.chromium.org/p/v8/issues/list , I will try to do it later today if there is no existing issue found.

andreialecu commented 3 years ago

FWIW: Chrome itself does not seem to crash while running WebAssembly. I went to a bunch of webassembly test suites and everything seems fine.

Not sure why only nodejs would be affected.

Also if I revert to node 14 and run via rosetta, everything still works.

deepak1556 commented 3 years ago

Which version of chrome did you test this on ?

andreialecu commented 3 years ago

Latest:

Google Chrome is up to date
Version 88.0.4324.96 (Official Build) (arm64)
deepak1556 commented 3 years ago

node 15.6 uses v8 8.6 while above chrome version uses v8 8.8, might want to try with chrome 86.

deepak1556 commented 3 years ago

Trace from the dumps matches the node crash report you had made. Same root cause.

Crash reason:  EXC_BREAKPOINT / 0x00000001
Crash address: 0x1090af040
Process uptime: 0 seconds

Thread 0 (crashed)
 0  Electron Framework!v8::base::OS::Abort() [platform-posix.cc : 490 + 0x0]
     x0 = 0x0000000000000000    x1 = 0x0000000000000002
     x2 = 0x00000000000120a8    x3 = 0x0000000000000005
     x4 = 0x000000010be0c600    x5 = 0x0000000000000005
     x6 = 0x0000000000000000    x7 = 0x0000000000000000
     x8 = 0x0000000000000001    x9 = 0x0000000203d21190
    x10 = 0x0000000203d1f190   x11 = 0x0000000000000002
    x12 = 0x00000000fffffffd   x13 = 0x0000010000000000
    x14 = 0x0000000000000000   x15 = 0x0000000000000000
    x16 = 0x00000001993e16ec   x17 = 0x00000001ff055b18
    x18 = 0x0000000000000000   x19 = 0x000000010a2c317f
    x20 = 0x000000016bb27ee8   x21 = 0x000000016bb28140
    x22 = 0x00000001f956ffa0   x23 = 0x000030f7afcbf7c0
    x24 = 0x00000000000007e0   x25 = 0x000000019942b940
    x26 = 0x000000016bb28198   x27 = 0x000000016bb281b0
    x28 = 0x0000000000003fff    fp = 0x000000016bb27ec0
     lr = 0x00000001090ae058    sp = 0x000000016bb27ec0
     pc = 0x00000001090af040
    Found by: given as instruction pointer in context
 1  Electron Framework!V8_Fatal(char const*, ...) [logging.cc : 167 + 0x0]
     fp = 0x000000016bb28130    lr = 0x00000001090ae058
     sp = 0x000000016bb27ed0    pc = 0x00000001090ae058
    Found by: previous frame's frame pointer
 2  Electron Framework!V8_Fatal(char const*, ...) [logging.cc : 167 + 0x0]
     fp = 0x000000016bb28160    lr = 0x0000000107cd3c38
     sp = 0x000000016bb28140    pc = 0x00000001090ae058
    Found by: previous frame's frame pointer
 3  Electron Framework!v8::internal::wasm::WasmCodeManager::Decommit(v8::base::AddressRegion) [wasm-code-manager.cc : 1634 + 0x8]
     fp = 0x000000016bb28240    lr = 0x00000001051988c4
     sp = 0x000000016bb28170    pc = 0x0000000107cd3c38
    Found by: previous frame's frame pointer
 4  Electron Framework!v8::internal::wasm::WasmCodeAllocator::FreeCode(v8::internal::Vector<v8::internal::wasm::WasmCode* const>) [wasm-code-manager.cc : 781 + 0x0]
     fp = 0x000000016bb28290    lr = 0x0000000107cd4f2c
     sp = 0x000000016bb28250    pc = 0x00000001051988c4
    Found by: previous frame's frame pointer
 5  Electron Framework!v8::internal::wasm::NativeModule::FreeCode(v8::internal::Vector<v8::internal::wasm::WasmCode* const>) [wasm-code-manager.cc : 1963 + 0x0]
     fp = 0x000000016bb28360    lr = 0x0000000107ce2748
     sp = 0x000000016bb282a0    pc = 0x0000000107cd4f2c
    Found by: previous frame's frame pointer
 6  Electron Framework!v8::internal::wasm::WasmEngine::FreeDeadCodeLocked(std::__1::unordered_map<v8::internal::wasm::NativeModule*, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> >, std::__1::hash<v8::internal::wasm::NativeModule*>, std::__1::equal_to<v8::internal::wasm::NativeModule*>, std::__1::allocator<std::__1::pair<v8::internal::wasm::NativeModule* const, std::__1::vector<v8::internal::wasm::WasmCode*, std::__1::allocator<v8::internal::wasm::WasmCode*> > > > > const&) [wasm-engine.cc : 1304 + 0x4]
     fp = 0x000000016bb28430    lr = 0x0000000107ce1060
     sp = 0x000000016bb28370    pc = 0x0000000107ce2748
    Found by: previous frame's frame pointer
 7  Electron Framework!v8::internal::wasm::WasmEngine::PotentiallyFinishCurrentGC() [wasm-engine.cc : 1415 + 0x8]
     fp = 0x000000016bb284e0    lr = 0x0000000107ce1ec8
     sp = 0x000000016bb28440    pc = 0x0000000107ce1060
    Found by: previous frame's frame pointer
 8  Electron Framework!v8::internal::wasm::WasmEngine::ReportLiveCodeForGC(v8::internal::Isolate*, v8::internal::Vector<v8::internal::wasm::WasmCode*>) [wasm-engine.cc : 1229 + 0x4]
     fp = 0x000000016bb28bd0    lr = 0x0000000107ce1f94
     sp = 0x000000016bb284f0    pc = 0x0000000107ce1ec8
    Found by: previous frame's frame pointer
 9  Electron Framework!v8::internal::wasm::WasmEngine::ReportLiveCodeFromStackForGC(v8::internal::Isolate*) [wasm-engine.cc : 1243 + 0x8]
     fp = 0x000000016bb28ca0    lr = 0x0000000104f0a01c
     sp = 0x000000016bb28be0    pc = 0x0000000107ce1f94
    Found by: previous frame's frame pointer
10  Electron Framework!v8::internal::StackGuard::HandleInterrupts() [stack-guard.cc : 309 + 0x0]
     fp = 0x000000016bb28d30    lr = 0x000000010511a744
     sp = 0x000000016bb28cb0    pc = 0x0000000104f0a01c
    Found by: previous frame's frame pointer
andreialecu commented 3 years ago

The last version of Chromium 86 I found is not arm64 native:

Version 86.0.4240.0 (Developer Build) (x86_64 translated)

I believe the first arm64 release came after 86.

andreialecu commented 3 years ago

I was able to find an arm64 build of Chromium 86:

https://github.com/macchrome/chromium/releases/download/v86.0.4218.0-r793075-macOS/Chromium.86.0.4218.0.arm64.sync.app-rev1.zip

Testing with: https://github.com/guybedford/wasm-demo

Demo 1. works Demo 2+ crash the tab (consistently)

Screenshot 2021-01-25 at 22 02 36

On Chrome 88 they work.

So it appears that indeed this might be resolved by v8 8.8.

andreialecu commented 3 years ago

@deepak1556 it seems that Apple just released macOS 11.2 officially.

I noticed that stable support for arm64 is supposed to land in the next VSCode release on February 3. Wanted to bump this issue again because it seems it will have a big effect on users.

It's probably a v8 bug that also exists in v8 8.8, as per: https://github.com/nodejs/node/issues/37061#issuecomment-769885558

andreialecu commented 3 years ago

macOS 11.2 production release + VSCode Insiders:

Version: 1.53.0-insider
Commit: 861a88ebadb4335df92251faf6420b598440e082
Date: 2021-01-29T21:59:10.149Z (2 days ago)
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: 8.7.220.31-electron.0
OS: Darwin arm64 20.3.0
Screenshot 2021-02-01 at 22 58 06

I would paste the error text but it's probably not relevant. (note that the error is slightly different than the one in the nodejs issue tracker)

huming2207 commented 3 years ago

@andreialecu I'm curious if you can just disable WebAssembly by doing something like this: https://github.com/nodejs/node/issues/29103

If this works, then we can still (temporarily) use VSCode 1.53 for now and let @deepak1556 figure out a proper fix. For Node.js, we can probably just do that patch workaround by commenting out the SetPermission() call I guess?

andreialecu commented 3 years ago

I'm not sure how disabling WebAssembly would help. It would probably introduce other problems because it's missing.

FWIW I tried running:

➜ code-insiders --noexpose_wasm .                          
Warning: 'noexpose_wasm' is not in the list of known options, but still passed to Electron/Chromium.

Might've been passed to v8, but not sure. Didn't make any difference though, the error above still pertains. This is probably because it wasn't passed to the Extension Host process, but just to the VSCode UI. However, I think disabling it would likely break everything as well, due to it being unexpectedly missing.

huming2207 commented 3 years ago

I'm not sure how disabling WebAssembly would help. It would probably introduce other problems because it's missing.

FWIW I tried running:

➜ code-insiders --noexpose_wasm .                          
Warning: 'noexpose_wasm' is not in the list of known options, but still passed to Electron/Chromium.

Might've been passed to v8, but not sure. Didn't make any difference though, the error above still pertains. This is probably because it wasn't passed to the Extension Host process, but just to the VSCode UI. However, I think disabling it would likely break everything as well, due to it being unexpectedly missing.

Try --js-flags=--noexpose_wasm. It can start without warning on VSCode insider + macOS 11.1

andreialecu commented 3 years ago

Try --js-flags=--noexpose_wasm. It can start without warning on VSCode insider + macOS 11.1

The warning disappeared, but the extension host reports the same crash as in the screenshot I attached earlier.

huming2207 commented 3 years ago

Try --js-flags=--noexpose_wasm. It can start without warning on VSCode insider + macOS 11.1

The warning disappeared, but the extension host reports the same crash as in the screenshot I attached earlier.

Oh damn... Then I'd better stay at macOS 11.1 for now for my M1 mac...

huming2207 commented 3 years ago

@andreialecu I also have a crazy-ish idea. What if you disable JIT by passing --js-flags=--jitless flag?

That may turn the native VSCode/Electron slower than the x86 version over Rosetta though...