Sounds related:
https://bugs.chromium.org/p/chromium/issues/detail?id=1126116.

On Tue, Oct 13, 2020 at 11:25 PM '[email protected]' via v8-dev <
[email protected]> wrote:

> Hi Chris,
>
> This build step is just running a program: run.py executes whatever is on
> the command line after it. To get a better error details, you can re-run
> ./mksnapshot in a debugger with all of the provided arguments. When doing
> so, I see a failure at the following call stack:
>
> 00 mksnapshot!abort
> 01 mksnapshot!std::__1::__libcpp_abort_debug_function
> 02
> mksnapshot!std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<int,v8::internal::compiler::Node
> *>,void *> *>::operator->
> 03 mksnapshot!std::__1::unordered_map<int,v8::internal::compiler::Node
> *,v8::base::hash<int>,std::__1::equal_to<int>,v8::internal::ZoneAllocator<std::__1::pair<const
> int,v8::internal::compiler::Node *> > >::operator[]
> 04
> mksnapshot!v8::internal::compiler::NodeCache<int,v8::base::hash<int>,std::__1::equal_to<int>
> >::Find
> 05 mksnapshot!v8::internal::compiler::CommonNodeCache::FindInt32Constant
> 06 mksnapshot!v8::internal::compiler::MachineGraph::Int32Constant
> 07 mksnapshot!v8::internal::compiler::CodeAssembler::Int32Constant
> 08
> mksnapshot!v8::internal::FromConstexpr_IterationKind_constexpr_IterationKind_0
> 09 mksnapshot!v8::internal::DownCastForTorqueClass_JSFunction_0
> 0a mksnapshot!v8::internal::Cast_JSFunction_0
> 0b mksnapshot!v8::internal::CollectCallFeedback_0
> 0c mksnapshot!v8::internal::CollectCallFeedback_1
> 0d
> mksnapshot!v8::internal::CallWithSpread_WithFeedbackAssembler::GenerateCallWithSpread_WithFeedbackImpl
> 0e mksnapshot!v8::internal::Builtins::Generate_CallWithSpread_WithFeedback
> 0f mksnapshot!v8::internal::`anonymous
> namespace'::BuildWithCodeStubAssemblerCS
> 10 mksnapshot!v8::internal::SetupIsolateDelegate::SetupBuiltinsInternal
> 11 mksnapshot!v8::internal::Isolate::Init
> 12 mksnapshot!v8::internal::Isolate::InitWithoutSnapshot
> 13 mksnapshot!v8::SnapshotCreator::SnapshotCreator
> 14 mksnapshot!v8::internal::CreateSnapshotDataBlobInternal
> 15 mksnapshot!`anonymous namespace'::CreateSnapshotDataBlob
> 16 mksnapshot!main
> 17 mksnapshot!invoke_main
> 18 mksnapshot!__scrt_common_main_seh
> 19 KERNEL32!BaseThreadInitThunk
> 1a ntdll!RtlUserThreadStart
>
> By the way, you can just set "enable_iterator_debugging = true" in
> out/Release/args.gn rather than editing BUILD.gn if you like 😊.
>
> -Seth
> On Tuesday, October 13, 2020 at 1:42:36 PM UTC-7 Chris Palmer wrote:
>
>> Hi all,
>>
>> I'm doing an experiment: turning on increased checks in Chromium's copy
>> of libcxx (LLVM's C++ library). I use this diff:
>>
>> diff --git a/build/config/c++/BUILD.gn b/build/config/c++/BUILD.gn
>> index f1c18b9f35fd..3718fc40773d 100644
>> --- a/build/config/c++/BUILD.gn
>> +++ b/build/config/c++/BUILD.gn
>> @@ -68,11 +68,12 @@ config("runtime_library") {
>>      # libc++ has two levels of debug mode. Setting _LIBCPP_DEBUG to zero
>>      # enables most assertions. Setting it to one additionally enables
>> iterator
>>      # debugging. See
>> https://libcxx.llvm.org/docs/DesignDocs/DebugMode.html
>> -    if (enable_iterator_debugging) {
>> -      defines += [ "_LIBCPP_DEBUG=1" ]
>> -    } else if (is_debug || dcheck_always_on) {
>> -      defines += [ "_LIBCPP_DEBUG=0" ]
>> -    }
>> +    #if (enable_iterator_debugging) {
>> +    #  defines += [ "_LIBCPP_DEBUG=1" ]
>> +    #} else if (is_debug || dcheck_always_on) {
>> +    #  defines += [ "_LIBCPP_DEBUG=0" ]
>> +    #}
>> +    defines += [ "_LIBCPP_DEBUG=1" ]
>>    }
>>
>> _LIBCPP_DEBUG=1 turns on debugging checks in many std:: classes, and also
>> checks in iterators. (_LIBCPP_DEBUG=0 turns on debugging checks but *not* in
>> iterators.)
>>
>> When building, I get this explosion:
>>
>> ninja: Entering directory `out/Release'
>> [1/1] Regenerating ninja files
>> [39041/39294] ACTION
>> //v8:run_mksnapshot_default(//build/toolchain/linux:clang_x64)
>> FAILED: gen/v8/embedded.S snapshot_blob.bin
>> python ../../v8/tools/run.py ./mksnapshot --turbo_instruction_scheduling
>> --target_os=linux --target_arch=x64 --embedded_src gen/v8/embedded.S
>> --embedded_variant Default --random-seed 314159265 --startup_blob
>> snapshot_blob.bin --no-native-code-counters
>> ../../buildtools/third_party/libc++/trunk/include/__hash_table:337:
>> _LIBCPP_ASSERT '__get_const_db()->__dereferenceable(this)' failed.
>> Attempted to dereference a non-dereferenceable unordered container iterator
>> Return code is -6
>> ninja: build stopped: subcommand failed.
>>
>> Unfortunately, I don't know how to get you a better error message. Any
>> clues on that? Assuming the check itself is correct, it looks like there's
>> a bug somewhere in V8.
>>
> --
> --
> v8-dev mailing list
> [email protected]
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-dev/ddc51578-12eb-4692-9124-35eb3b2eafddn%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-dev/ddc51578-12eb-4692-9124-35eb3b2eafddn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
v8-dev mailing list
[email protected]
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/CAH3p7oNYeH%2BdxvMwAMtLXuc_UfUTwVQpYAsatnSnWwArcF5uKA%40mail.gmail.com.

Reply via email to