I was updating my version of v8 lib since in relation to my previous bug with cppgc was on a 12.4.254.15 and it was pointed out that there have been changes like the wrapper descriptor being removed and new functions to wrap/unwrap a cppgc instance added to v8:Object.
During the build process when it hits the snapshot creation it throws an error and prints the stack trace
[2123/2127] ACTION //:run_mksnapshot_default(//build/toolchain/mac:clang_arm64)
FAILED: gen/embedded.S snapshot_blob.bin
python3 ../../tools/run.py ./mksnapshot --turbo_instruction_scheduling --stress-turbo-late-spilling --target_os=mac --target_arch=arm64 --embedded_src gen/embedded.S --predictable --no-use-ic --embedded_variant Default --random-seed 314159265 --startup_blob snapshot_blob.bin --no-native-code-counters
#
# Fatal error in , line 0
# Check failed: 12 == (*__error()).
#
#
#
#FailureMessage Object: 0x16fd36658
==== C stack trace ===============================
0 mksnapshot 0x0000000100a2fa8c v8::base::debug::StackTrace::StackTrace() + 24
1 mksnapshot 0x0000000100a339a0 v8::platform::(anonymous namespace)::PrintStackTrace() + 24
2 mksnapshot 0x0000000100a26448 V8_Fatal(char const*, ...) + 356
3 mksnapshot 0x0000000100a2e2b0 v8::base::OS::SetPermissions(void*, unsigned long, v8::base::OS::MemoryPermission) + 284
4 mksnapshot 0x0000000100a205d0 v8::base::BoundedPageAllocator::SetPermissions(void*, unsigned long, v8::PageAllocator::Permission) + 32
5 mksnapshot 0x00000001001ff344 v8::internal::CodeRange::InitReservation(v8::PageAllocator*, unsigned long, bool) + 584
6 mksnapshot 0x0000000100317ba8 v8::internal::(anonymous namespace)::InitCodeRangeOnce(std::__1::unique_ptr<v8::internal::CodeRange, std::__1::default_delete<v8::internal::CodeRange>>*, v8::PageAllocator*, unsigned long, bool) + 128
7 mksnapshot 0x0000000100a2abb0 v8::base::CallOnceImpl(std::__1::atomic<unsigned char>*, std::__1::function<void ()>) + 68
8 mksnapshot 0x0000000100317ac8 v8::internal::IsolateGroup::EnsureCodeRange(unsigned long) + 136
9 mksnapshot 0x000000010026e990 v8::internal::Heap::SetUp(v8::internal::LocalHeap*) + 180
10 mksnapshot 0x00000001001d6724 v8::internal::Isolate::Init(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) + 1684
11 mksnapshot 0x00000001001d6084 v8::internal::Isolate::InitWithoutSnapshot() + 28
12 mksnapshot 0x0000000100696418 v8::internal::SnapshotCreatorImpl::InitInternal(v8::StartupData const*) + 96
13 mksnapshot 0x00000001006967f4 v8::internal::SnapshotCreatorImpl::SnapshotCreatorImpl(v8::internal::Isolate*, v8::Isolate::CreateParams const&) + 276
14 mksnapshot 0x00000001000bad98 v8::SnapshotCreator::SnapshotCreator(v8::Isolate*, v8::Isolate::CreateParams const&) + 48
15 mksnapshot 0x00000001000afb2c main + 1392
16 dyld 0x000000018d51c274 start + 2840
Return code is -5
this is for the latest stable release of 13.1.201.16 that ships in the latest chromium version.
I'm assuming some flags have changed and may be causing the issue.
My build args are for debug
is_debug = true
is_component_build = false
v8_monolithic = false
v8_use_external_startup_data = true
v8_enable_backtrace = true
v8_enable_slow_dchecks = true
v8_optimized_debug = false
use_custom_libcxx = false
v8_static_library = true
v8_enable_pointer_compression_shared_cage = false
enable_iterator_debugging = true
v8_use_libm_trig_functions = false
icu_disable_thin_archive = true
v8_target_cpu = "arm64"
target_cpu = "arm64"
and release is
is_debug = false
is_component_build = false
v8_monolithic = false
v8_use_external_startup_data = true
dcheck_always_on = false
use_custom_libcxx = false
v8_static_library = true
v8_enable_pointer_compression_shared_cage = false
v8_use_libm_trig_functions = false
icu_disable_thin_archive = true
v8_target_cpu = "arm64"
target_cpu = "arm64"
This occurs in both build of it. I also tried 13.1.201.18 which gives the same error with a slightly more informative assert adding something like 13 != 12