We expect that if setting permissions on memory fails, it must be due to an
out of memory situation (the ENOMEM error code is the integer 12).
What you get is EACCES (13). This is unexpected.

It's hard to tell why this fails from just that stack trace. You could help
narrowing it down by running a bisection to figure out which change
introduced this (see https://git-scm.com/docs/git-bisect).

On Thu, Dec 12, 2024 at 4:22 PM 'Ronald Fenner' via v8-dev <
v8-dev@googlegroups.com> wrote:

> 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
>
> --
> --
> v8-dev mailing list
> v8-dev@googlegroups.com
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-dev+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/v8-dev/15094b1c-60e6-47e9-8e24-0367293ee326n%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-dev/15094b1c-60e6-47e9-8e24-0367293ee326n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 

Clemens Backes

Software Engineer

cleme...@google.com

Google Germany GmbH

Erika-Mann-Straße 33

80636 München

Geschäftsführer: Paul Manicle, Liana Sebastian

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten
haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
dass die E-Mail an die falsche Person gesendet wurde.


This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/CAGO%3DqhCahJvoe_yB%3DiH4V0ByJroSwJ8K-_rODon6HaL264tzeQ%40mail.gmail.com.

Reply via email to