metacall / core

MetaCall: The ultimate polyglot programming experience.
https://metacall.io
Apache License 2.0
1.58k stars 163 forks source link

Since NodeJS 20.x on MacOS 15, address sanitizer fails on all tests. #530

Open viferga opened 2 weeks ago

viferga commented 2 weeks ago

🐛 Bug Report

It seems that the new GC on V8 fails on MacOS 15:

2024-11-06T04:19:05.3574440Z Stack trace (most recent call last) in thread 6171357184:
2024-11-06T04:19:05.3575040Z #12   Object "libsystem_pthread.dylib", at 0x195d872e3, in _pthread_start + 135
2024-11-06T04:19:05.3575720Z #11   Object "libclang_rt.asan_osx_dynamic.dylib", at 0x1048c585b, in asan_thread_start(void*) + 67
2024-11-06T04:19:05.3576420Z #10   Object "libnode_loaderd.so", at 0x107d3b163, in node_loader_impl_thread(void*) + 8199
2024-11-06T04:19:05.3577090Z #9    Object "libnode.127.dylib", at 0x11c464e5f, in node::Start(int, char**) + 1055
2024-11-06T04:19:05.3577740Z #8    Object "libnode.127.dylib", at 0x11c4653df, in node::StartInternal(int, char**) + 651
2024-11-06T04:19:05.3579200Z #7    Object "libnode.127.dylib", at 0x11c4618a3, in node::InitializeOncePerProcessInternal(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, node::ProcessInitializationFlags::Flags) + 5159
2024-11-06T04:19:05.3580730Z #6    Object "libnode.127.dylib", at 0x121d88167, in cppgc::InitializeProcess(v8::PageAllocator*, unsigned long) + 191
2024-11-06T04:19:05.3581450Z #5    Object "libsystem_platform.dylib", at 0x195dbc183, in _sigtramp + 55
2024-11-06T04:19:05.3582190Z #4    Object "libbacktrace_plugind.so", at 0x1074316ab, in backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 55
2024-11-06T04:19:05.3583100Z #3    Object "libbacktrace_plugind.so", at 0x10743263f, in backward::SignalHandling::handleSignal(int, __siginfo*, void*) + 1187
2024-11-06T04:19:05.3584150Z #2    Object "libbacktrace_plugind.so", at 0x107432cab, in backward::StackTraceImpl<backward::system_tag::darwin_tag>::load_from(void*, unsigned long, void*, void*) + 415
2024-11-06T04:19:05.3585330Z #1    Object "libbacktrace_plugind.so", at 0x10743355f, in backward::StackTraceImpl<backward::system_tag::darwin_tag>::load_here(unsigned long, void*, void*) + 839
2024-11-06T04:19:05.3586770Z #0    Object "libbacktrace_plugind.so", at 0x10743ffb3, in unsigned long backward::details::unwind<backward::StackTraceImpl<backward::system_tag::darwin_tag>::callback>(backward::StackTraceImpl<backward::system_tag::darwin_tag>::callback, unsigned long) + 403

We should investigate a way to skip those issues and run the tests. For reference: https://chromium.googlesource.com/v8/v8.git/+/HEAD/include/cppgc/