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.
