Closed slavek-kucera closed 2 months ago
1.90.0 still works if needed https://update.code.visualstudio.com/1.90.0-insider/darwin-universal/insider
Can you collect crash dump from the pipeline following the steps at https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-a-crash-report, thanks!
The only available file was generated in the pending
subdirectory https://github.com/slavek-kucera/vscode-crash/actions/runs/9546502475/artifacts/1608121691
The job is here, an extra warning message was generated
Found --crash-reporter-directory argument. Setting crashDumps directory to be '/Users/runner/work/vscode-crash/vscode-crash'
[1927:0617/[11](https://github.com/slavek-kucera/vscode-crash/actions/runs/9546502475/job/26309520857#step:4:12)0113.548461:ERROR:node_bindings.cc(162)] Fatal error in V8: v8::Template::Set Invalid value, must be a primitive or a Template
[0617/110113.886370:WARNING:crash_report_exception_handler.cc(235)] UniversalExceptionRaise: (os/kern) failure (5)
Exit code: SIGSEGV
SIGSEGV
Symbolicated trace
Operating system: Mac OS X
11.7.10 20G1427
CPU: amd64
family 6 model 58 stepping 9
3 CPUs
GPU: UNKNOWN
Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
Crash address: 0x0
Process uptime: 4 seconds
Thread 0 (crashed)
0 Electron Framework!(anonymous namespace)::V8FatalErrorCallback(char const*, char const*) [node_bindings.cc : 170 + 0x0]
rax = 0x0000000000000028 rdx = 0x0000000117371d01
rcx = 0x0000000000000008 rbx = 0x00000001162c8e5b
rsi = 0x0000014000a01600 rdi = 0x00007fff8081d0e0
rbp = 0x00007ffee419ef40 rsp = 0x00007ffee419edd0
r8 = 0x00007fff8081d0d0 r9 = 0x0000000117370940
r10 = 0x0000000000000001 r11 = 0xffff81411c9d2097
r12 = 0x00007ffee419ede8 r13 = 0x00000140008da4f8
r14 = 0x00007ffee419ef08 r15 = 0x00007ffee419ef08
rip = 0x000000010e4945e2
Found by: given as instruction pointer in context
1 Electron Framework!v8::Utils::ReportApiFailure(char const*, char const*) [api.cc : 322 + 0x9]
rbp = 0x00007ffee419efa0 rsp = 0x00007ffee419ef50
rip = 0x000000010f7d0d0d
Found by: previous frame's frame pointer
2 Electron Framework!v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute) [api.h : 197 + 0x13]
rbp = 0x00007ffee419efd0 rsp = 0x00007ffee419efb0
rip = 0x000000010f7d2546
Found by: previous frame's frame pointer
3 Electron Framework!napi_define_class [js_native_api_v8.cc : 0 + 0x2c]
rbp = 0x00007ffee419f0e0 rsp = 0x00007ffee419efe0
rip = 0x000000011572fecc
Found by: previous frame's frame pointer
4 spdlog.node!Napi::ObjectWrap<Logger>::DefineClass(Napi::Env, char const*, unsigned long, napi_property_descriptor const*, void*) + 0x218
rbp = 0x00007ffee419f190 rsp = 0x00007ffee419f0f0
rip = 0x0000000117703a38
Found by: previous frame's frame pointer
5 spdlog.node!Logger::Init(Napi::Env, Napi::Object) + 0x359
rbx = 0x0000014000a3e760 rbp = 0x00007ffee419f4f0
rsp = 0x00007ffee419f1a0 r12 = 0x0000014000986300
r13 = 0x000001400028c048 r14 = 0x0000014000a3e760
r15 = 0x0000000000000000 rip = 0x00000001176fd709
Found by: call frame info
6 spdlog.node!Init(Napi::Env, Napi::Object) + 0xb8
rbx = 0x0000014000a3e760 rbp = 0x00007ffee419f520
rsp = 0x00007ffee419f500 r12 = 0x0000014000a3e760
r13 = 0x000001400028c048 r14 = 0x0000014000a3e760
r15 = 0x000001400028c048 rip = 0x00000001176d2388
Found by: call frame info
7 spdlog.node!napi_register_module_v1 + 0x11
rbx = 0x0000000000000000 rbp = 0x00007ffee419f540
rsp = 0x00007ffee419f530 r12 = 0x0000014000a3e760
r13 = 0x000001400028c048 r14 = 0x0000000000000000
r15 = 0xbfc6ffffffffffff rip = 0x00000001176d2551
Found by: call frame info
8 Electron Framework!napi_module_register_by_symbol(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, napi_value__* (*)(napi_env__*, napi_value__*), int) [node_api.cc : 731 + 0xc]
rbx = 0x0000000000000000 rbp = 0x00007ffee419fa00
rsp = 0x00007ffee419f550 r12 = 0x0000014000a3e760
r13 = 0x000001400028c048 r14 = 0x0000000000000000
r15 = 0xbfc6ffffffffffff rip = 0x000000011573aed0
Found by: call frame info
9 Electron Framework!std::__Cr::__function::__func<node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)::$_0, std::__Cr::allocator<node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)::$_0>, bool (node::binding::DLib*)>::operator()(node::binding::DLib*&&) [node_binding.cc : 504 + 0x8]
rbp = 0x00007ffee419fe50 rsp = 0x00007ffee419fa10
rip = 0x000000011575f1fc
Found by: previous frame's frame pointer
10 Electron Framework!node::Environment::TryLoadAddon(char const*, int, std::__Cr::function<bool (node::binding::DLib*)> const&) [function.h : 425 + 0x5]
rbp = 0x00007ffee419fea0 rsp = 0x00007ffee419fe60
rip = 0x0000000115710681
Found by: previous frame's frame pointer
11 Electron Framework!node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&) [node_binding.cc : 457 + 0x11]
rbp = 0x00007ffee41a0360 rsp = 0x00007ffee419feb0
rip = 0x000000011575d769
Crash at following v8 API due to incorrect value types, I don't see any recent changes along the crash code path that would explain this. We are pretty much calling into N-API in https://github.com/microsoft/node-spdlog/blob/1cafb90b3de696ef8242d6d42ab7428637a50d50/src/logger.cc#L20 .
A next good step would be to bisect the change, I can only try this next week . If possible, can you help narrow down the commit that introduced the regression ? You can pass commit value to the version
field of downloadAndUnzipVSCode
api, ex:
const vscodeExecutablePath = await downloadAndUnzipVSCode({version: '85e9b0786cc505d85f326991227de364a5bd7293'});
I modified the job definition so it can be started with arbitrary commit, but I have to wait for the macos11 brownout to be over to run the test.
I am also seeing this same crash on OS X 10.15.7
symbolicated-output.log
This is the crash dump from commit 85e9b0786cc505d85f326991227de364a5bd7293
: https://github.com/slavek-kucera/vscode-crash/actions/runs/9548834443/artifacts/1611630223
I managed to narrow the commit range to a4ac06f9116c7db05c57333e9ae5ce7e472e6fe4 - still works 0a417782b1781d39803b8f1791cfb22f8835ddae - no longer works
This commit b0a60ae2da4cc39ff1c6141c4f0634e59ad1d66f is the one that stands out...
1.90.0 still works if needed https://update.code.visualstudio.com/1.90.0-insider/darwin-universal/insider
This works. Make sure to turn off auto updates as well. This morning, I was confused on why VS Code broke again.
https://code.visualstudio.com/docs/supporting/FAQ#_how-do-i-opt-out-of-vs-code-autoupdates
same here 1.91.0-insider on mac os 11.7.10 (20G1427) crashing as soon as started rolling back to 1.90.0
It fails on VsCode insiders. Here's the stack trace:
[21:55:01.710] [server]
[21:55:01.710] [server] Server started
[21:55:01.890] [server] FATAL ERROR: v8::Template::Set Invalid value, must be a primitive or a Template
[21:55:01.891] [server] ----- Native stack trace -----
[21:55:01.891] [server]
[21:55:01.891] [server] 1: 0x1052ab6c5 node::Abort() [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.891] [server] 2: 0x1052ab7b1 node::OnFatalError(char const*, char const*) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.892] [server] 3: 0x105460055 v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.892] [server] 4: 0x1052581a7 napi_define_class [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.892] [server] 5: 0x10b0c4a38 Napi::ObjectWrap<Logger>::DefineClass(Napi::Env, char const*, unsigned long, napi_property_descriptor const*, void*) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/@vscode/spdlog/build/Release/spdlog.node]
[21:55:01.892] [server] 6: 0x10b0be709 Logger::Init(Napi::Env, Napi::Object) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/@vscode/spdlog/build/Release/spdlog.node]
[21:55:01.893] [server] 7: 0x10b093388 Init(Napi::Env, Napi::Object) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/@vscode/spdlog/build/Release/spdlog.node]
[21:55:01.893] [server] 8: 0x10b093551 napi_register_module_v1 [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/@vscode/spdlog/build/Release/spdlog.node]
[21:55:01.893] [server] 9: 0x10527272d napi_module_register_by_symbol(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, napi_value__* (*)(napi_env__*, napi_value__*), int) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.894] [server] 10: 0x105278819 std::__1::__function::__func<node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)::$_0, std::__1::allocator<node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)::$_0>, bool (node::binding::DLib*)>::operator()(node::binding::DLib*&&) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.894] [server] 11: 0x105242323 node::Environment::TryLoadAddon(char const*, int, std::__1::function<bool (node::binding::DLib*)> const&) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.894] [server] 12: 0x1052770cf node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.894] [server] 13: 0x1054c5da8 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::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, unsigned long*, int) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.895] [server] 14: 0x1054c536a v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.895] [server] 15: 0x105e721b6 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.895] [server] 16: 0x105de3c9c Builtins_InterpreterEntryTrampoline [/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node]
[21:55:01.896] [server] 17: 0x111a346d2
[21:55:01.896] [server] 18: 0x111a1d90f
[21:55:01.896] [server]
[21:55:01.897] [server] ----- JavaScript stack trace -----
[21:55:01.897] [server]
[21:55:01.897] [server] 1: Module._extensions..node (node:internal/modules/cjs/loader:1473:18)
[21:55:01.897] [server] 2: Module.load (node:internal/modules/cjs/loader:1207:32)
[21:55:01.898] [server] 3: Module._load (node:internal/modules/cjs/loader:1023:12)
[21:55:01.898] [server] 4: Module.require (node:internal/modules/cjs/loader:1235:19)
[21:55:01.899] [server] 5: require (node:internal/modules/helpers:176:18)
[21:55:01.899] [server] 6: bindings (/Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/bindings/bindings.js:112:48)
[21:55:01.899] [server] 7: /Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/node_modules/@vscode/spdlog/index.js:3:35
[21:55:01.899] [server] 8: Module._compile (node:internal/modules/cjs/loader:1376:14)
[21:55:01.900] [server] 9: Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
[21:55:01.900] [server] 10: Module.load (node:internal/modules/cjs/loader:1207:32)
[21:55:01.900] [server]
[21:55:01.901] [server]
[21:55:01.901] [server] /Users/admin/.vscode-server-insiders/cli/servers/Insiders-aea213b7fcc7de5c24ad797ac1af209b159d451f/server/bin/code-server-insiders: line 22: 3306 Abort trap: 6 "$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"
[21:55:01.905] ------
code --version
1.91.0-insider
aea213b7fcc7de5c24ad797ac1af209b159d451f
x64
This seems to have just started happening on the regular release version of VSCode too, as of 1.91.0[^1]. Downgrading to 1.90.2 works for now (Universal, Intel, Apple Silicon) - just remember to turn off updates for now, as mentioned in https://github.com/microsoft/vscode/issues/215430#issuecomment-2184007425.
[^1]: Only tested on macOS 10.15.7 Catalina so far, but it seems to be the exact same crash the Insiders version was getting on both 10.15 Catalina and 11 Big Sur.
This seems to have just started happening on the regular release version of VSCode too, as of 1.91.01. Downgrading to 1.90.2 works for now (Universal, Intel, Apple Silicon) - just remember to turn off updates for now, as mentioned in #215430 (comment).
Footnotes
1. Only tested on macOS 10.15.7 Catalina so far, but it seems to be the exact same crash the Insiders version was getting on both 10.15 Catalina and 11 Big Sur. [↩](#user-content-fnref-1-fecd626bd4dcc0e589a3513fd080bf1d)
Yes, I also have the same problem now on stable with macOS 11.7.10. Thanks for all the links @Rhys-T , downgrade helped.
This bug has been fixed in the latest release of VS Code Insiders!
@slavek-kucera, you can help us out by commenting /verified
if things are now working as expected.
If things still don't seem right, please ensure you're on version 82104a3a6cf8713b81e5bbd97960dbf5c82a816a of Insiders (today's or later - you can use Help: About
in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!
/verified
Does this issue occur when all extensions are disabled?: Yes
Steps to Reproduce: