brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
16.74k stars 2.15k forks source link

Crashes in PageGraph #37885

Open iefremov opened 2 weeks ago

iefremov commented 2 weeks ago

There are crashes in page graph, see https://share.backtrace.io/api/share/33uvkMHJtXO06etET1a6f0

[ 00 ] base::ImmediateCrash() ( immediate_crash.h:176 )
[ 01 ] logging::CheckFailure() ( check.h:212 )
[ 02 ] brave_page_graph::NodeHTMLElement::PlaceChildNodeAfterSiblingNode(brave_page_graph::NodeHTML*, brave_page_graph::NodeHTML*) ( node_html_element.cc:111 )
[ 03 ] blink::PageGraph::AddGraphItem(std::__Cr::unique_ptr<brave_page_graph::GraphItem, std::__Cr::default_delete<brave_page_graph::GraphItem>>) ( page_graph.cc:1021 )
[ 04 ] blink::PageGraph::DidInsertDOMNode(blink::Node*) ( page_graph.cc:0 )
[ 05 ] blink::probe::DidInsertDOMNodeImpl(blink::Node*)::$_3::operator()(blink::PageGraph*) const ( core_probes_impl.cc:1119 )
[ 06 ] void blink::AgentRegistry<blink::PageGraph>::ForEachAgent<blink::probe::DidInsertDOMNodeImpl(blink::Node*)::$_3>(blink::probe::DidInsertDOMNodeImpl(blink::Node*)::$_3 const&) const ( agent_registry.h:75 )
[ 07 ] blink::probe::DidInsertDOMNodeImpl(blink::Node*) ( core_probes_impl.cc:1118 )
[ 08 ] blink::probe::DidInsertDOMNode(blink::Node*) ( core_probes_inl.h:153 )
[ 09 ] void blink::ContainerNode::InsertNodeVector<blink::ContainerNode::AdoptAndAppendChild>(blink::HeapVector<cppgc::internal::BasicMember<blink::Node, cppgc::internal::StrongMemberTag, cppgc::internal::DijkstraWriteBarrierPolicy, cppgc::internal::DisabledCheckingPolicy, cppgc::internal::CompressedPointer>, 11u> const&, blink::Node*, blink::ContainerNode::AdoptAndAppendChild const&, blink::HeapVector<cppgc::internal::BasicMember<blink::Node, cppgc::internal::StrongMemberTag, cppgc::internal::DijkstraWriteBarrierPolicy, cppgc::internal::DisabledCheckingPolicy, cppgc::internal::CompressedPointer>, 11u>&) ( container_node.cc:344 )
[ 10 ] blink::ContainerNode::AppendChild(blink::Node*, blink::ExceptionState&) ( container_node.cc:935 )
[ 11 ] blink::Node::appendChild(blink::Node*, blink::ExceptionState&) ( node.cc:644 )
[ 12 ] blink::(anonymous namespace)::v8_node::AppendChildOperationCallbackForMainWorld(v8::FunctionCallbackInfo<v8::Value> const&) ( v8_node.cc:538 )
[ 13 ] Builtins_CallApiCallbackGeneric
iefremov commented 2 weeks ago
[ 00 ] base::ImmediateCrash() ( immediate_crash.h:176 )
[ 01 ] logging::CheckFailure() ( check.h:212 )
[ 02 ] blink::PageGraph::GetHTMLElementNode(absl::variant<int, blink::Node*>) ( page_graph.cc:1153 )
[ 03 ] blink::PageGraph::RegisterRequestStartFromElm(int, unsigned long, blink::KURL const&, WTF::String const&) ( page_graph.cc:1459 )
[ 04 ] blink::PageGraph::WillSendRequest(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks) ( page_graph.cc:472 )
[ 05 ] blink::probe::WillSendRequestImpl(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks)::$_2::operator()(blink::PageGraph*) const ( core_probes_impl.cc:1499 )
[ 06 ] void blink::AgentRegistry<blink::PageGraph>::ForEachAgent<blink::probe::WillSendRequestImpl(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks)::$_2>(blink::probe::WillSendRequestImpl(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks)::$_2 const&) const ( agent_registry.h:75 )
[ 07 ] blink::probe::WillSendRequestImpl(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks) ( core_probes_impl.cc:1498 )
[ 08 ] blink::probe::WillSendRequest(blink::ExecutionContext*, blink::DocumentLoader*, blink::KURL const&, blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceLoaderOptions const&, blink::ResourceType, blink::RenderBlockingBehavior, base::TimeTicks) ( core_probes_inl.h:393 )
[ 09 ] blink::ResourceLoadObserverForFrame::WillSendRequest(blink::ResourceRequest const&, blink::ResourceResponse const&, blink::ResourceType, blink::ResourceLoaderOptions const&, blink::RenderBlockingBehavior, blink::Resource const*) ( resource_load_observer_for_frame.cc:159 )
[ 10 ] blink::ResourceFetcher::DidLoadResourceFromMemoryCache(blink::Resource*, blink::ResourceRequest const&, bool, blink::RenderBlockingBehavior) ( resource_fetcher.cc:765 )
[ 11 ] blink::ResourceFetcher::RequestResource(blink::FetchParameters&, blink::ResourceFactory const&, blink::ResourceClient*) ( resource_fetcher.cc:1258 )
[ 12 ] blink::CSSStyleSheetResource::Fetch(blink::FetchParameters&, blink::ResourceFetcher*, blink::ResourceClient*) ( css_style_sheet_resource.cc:62 )
iefremov commented 2 weeks ago

cc @pes10k @goodov