Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: crash in AXNodeObject::TextFromDescendants() #36285

Merged
merged 1 commit into from Nov 9, 2022

Conversation

miniak
Copy link
Contributor

@miniak miniak commented Nov 9, 2022

Description of Change

Backport:

Teams.exe!blink::AXObject::AOMPropertyOrARIAAttributeIsTrue(blink::AOMBooleanProperty property) Line 1100    C++
     Teams.exe!blink::AXNodeObject::TextFromDescendants(blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited, const blink::AXObject * aria_label_or_description_root, bool recursive) Line 3461    C++
     Teams.exe!blink::AXNodeObject::TextAlternative(bool recursive, const blink::AXObject * aria_label_or_description_root, blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited, ax::mojom::NameFrom & name_from, blink::HeapVector<cppgc::internal::BasicMember<blink::NameSourceRelatedObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> * related_objects, blink::HeapVector<blink::NameSource,0> * name_sources) Line 3297    C++
     Teams.exe!blink::AXLayoutObject::TextAlternative(bool recursive, const blink::AXObject * aria_label_or_description_root, blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited, ax::mojom::NameFrom & name_from, blink::HeapVector<cppgc::internal::BasicMember<blink::NameSourceRelatedObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> * related_objects, blink::HeapVector<blink::NameSource,0> * name_sources) Line 1168    C++
     Teams.exe!blink::AXObject::RecursiveTextAlternative(const blink::AXObject & ax_obj, const blink::AXObject * aria_label_or_description_root, blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited, ax::mojom::NameFrom & name_from) Line 3543    C++
     [Inline Frame] Teams.exe!blink::AXObject::RecursiveTextAlternative(const blink::AXObject & ax_obj, const blink::AXObject * aria_label_or_description_root, blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited) Line 3529    C++
     Teams.exe!blink::AXObject::TextFromElements(bool in_aria_labelledby_traversal, blink::HeapHashSet<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,WTF::MemberHash<const blink::AXObject>,WTF::HashTraits<cppgc::internal::BasicMember<const blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>>> & visited, blink::HeapVector<cppgc::internal::BasicMember<blink::Element,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> & elements, blink::HeapVector<cppgc::internal::BasicMember<blink::NameSourceRelatedObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> * related_objects) Line 3788    C++
     Teams.exe!blink::AXNodeObject::Description(ax::mojom::NameFrom name_from, ax::mojom::DescriptionFrom & description_from, blink::HeapVector<blink::DescriptionSource,0> * description_sources, blink::HeapVector<cppgc::internal::BasicMember<blink::NameSourceRelatedObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> * related_objects) Line 5376    C++
     Teams.exe!blink::AXNodeObject::Description(ax::mojom::NameFrom name_from, ax::mojom::DescriptionFrom & description_from, blink::HeapVector<cppgc::internal::BasicMember<blink::AXObject,cppgc::internal::StrongMemberTag,cppgc::internal::DijkstraWriteBarrierPolicy,cppgc::internal::DisabledCheckingPolicy>,0> * description_objects) Line 5295    C++
     Teams.exe!blink::AXObject::SerializeNameAndDescriptionAttributes(ui::AXMode accessibility_mode, ui::AXNodeData * node_data) Line 1467    C++
     Teams.exe!blink::AXObject::Serialize(ui::AXNodeData * node_data, ui::AXMode accessibility_mode) Line 1244    C++
     Teams.exe!content::BlinkAXTreeSource::SerializeNode(blink::WebAXObject src, ui::AXNodeData * dst) Line 500    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 723    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChangedNodes(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 790    C++
     Teams.exe!ui::AXTreeSerializer<blink::WebAXObject>::SerializeChanges(blink::WebAXObject node, ui::AXTreeUpdate * out_update) Line 508    C++
     Teams.exe!content::RenderAccessibilityImpl::SerializeUpdatesAndEvents(blink::WebDocument document, blink::WebAXObject root, std::__1::vector<ui::AXEvent,std::__1::allocator<ui::AXEvent>> & events, std::__1::vector<ui::AXTreeUpdate,std::__1::allocator<ui::AXTreeUpdate>> & updates, bool invalidate_plugin_subtree) Line 891    C++
     Teams.exe!content::RenderAccessibilityImpl::SendPendingAccessibilityEvents() Line 1036    C++
     [Inline Frame] Teams.exe!base::OnceCallback<void ()>::Run() Line 143    C++
     Teams.exe!base::TaskAnnotator::RunTaskImpl(base::PendingTask & pending_task) Line 135    C++
     [Inline Frame] Teams.exe!base::TaskAnnotator::RunTask(perfetto::StaticString event_name, base::PendingTask & pending_task, base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl::<lambda_0> && args) Line 74    C++
     [Inline Frame] Teams.exe!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow * continuation_lazy_now) Line 386    C++
     Teams.exe!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() Line 291    C++
     Teams.exe!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate) Line 41    C++
     Teams.exe!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool application_tasks_allowed, base::TimeDelta timeout) Line 501    C++
     Teams.exe!base::RunLoop::Run(const base::Location & location) Line 143    C++
     Teams.exe!content::RendererMain(content::MainFunctionParams parameters) Line 298    C++
     Teams.exe!content::RunOtherNamedProcessTypeMain(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>> & process_type, content::MainFunctionParams main_function_params, content::ContentMainDelegate * delegate) Line 679    C++
     Teams.exe!content::ContentMainRunnerImpl::Run() Line 1018    C++
     Teams.exe!content::RunContentProcess(content::ContentMainParams params, content::ContentMainRunner * content_main_runner) Line 411    C++
     Teams.exe!content::ContentMain(content::ContentMainParams params) Line 439    C++
     Teams.exe!wWinMain(HINSTANCE__ * instance, HINSTANCE__ *, wchar_t * cmd, int) Line 247    C++

Checklist

Release Notes

Notes: Fixed crash in AXNodeObject::TextFromDescendants()

@miniak miniak requested review from a team as code owners November 9, 2022 02:28
@electron-cation electron-cation bot added the new-pr 🌱 PR opened in the last 24 hours label Nov 9, 2022
@miniak miniak added semver/patch backwards-compatible bug fixes backport-check-skip Skip trop's backport validity checking 19-x-y labels Nov 9, 2022
@miniak miniak self-assigned this Nov 9, 2022
@electron-cation electron-cation bot removed the new-pr 🌱 PR opened in the last 24 hours label Nov 9, 2022
@jkleinsc jkleinsc merged commit 7ede4ae into 19-x-y Nov 9, 2022
@jkleinsc jkleinsc deleted the miniak/fix-ax-crashes-19-x-y branch November 9, 2022 22:08
@release-clerk
Copy link

release-clerk bot commented Nov 9, 2022

Release Notes Persisted

Fixed crash in AXNodeObject::TextFromDescendants()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
19-x-y backport-check-skip Skip trop's backport validity checking semver/patch backwards-compatible bug fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants