microsoft / microsoft/microsoft-ui-xaml

Crash in text accessibility, UWP (probably WinUI 3 too)

Open
#10,773 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

### Describe the bug

I know this is very vague, but I can't reproduce this issue myself although it accounts for a very large amount of crashes in my app. I can see this stack trace in Partner Center:

```tsv
"Frame" "Image" "Function" "Offset"
"0" "Windows.UI.Xaml.dll" "CInlineCollection::GetRun" "0x0000000000000000"
"1" "Windows.UI.Xaml.dll" "ParagraphTextSource::IsInSurrogateCRLF" "0x0000000000000000"
"2" "Windows.UI.Xaml.dll" "ParagraphTextSource::IsInSurrogateCRLF" "0x0000000000000000"
"3" "Windows.UI.Xaml.dll" "ParagraphNode::IsAtInsertionPosition" "0x0000000000000000"
"4" "Windows.UI.Xaml.dll" "ContainerNode::IsAtInsertionPosition" "0x0000000000000000"
"5" "Windows.UI.Xaml.dll" "RichTextBlockView::IsAtInsertionPosition" "0x0000000000000000"
"6" "Windows.UI.Xaml.dll" "CPlainTextPosition::IsAtInsertionPosition" "0x0000000000000000"
"7" "Windows.UI.Xaml.dll" "CPlainTextPosition::MoveToNextInsertionPosition" "0x0000000000000000"
"8" "Windows.UI.Xaml.dll" "CPlainTextPosition::GetNextInsertionPosition" "0x0000000000000000"
"9" "Windows.UI.Xaml.dll" "CTextRangeAdapter::MoveByCharacter" "0x0000000000000000"
"10" "Windows.UI.Xaml.dll" "CTextRangeAdapter::ExpandToCharacter" "0x0000000000000000"
"11" "Windows.UI.Xaml.dll" "CTextRangeAdapter::MoveEndpointByUnit" "0x0000000000000000"
"12" "Windows.UI.Xaml.dll" "DirectUI::TextRangeAdapter::MoveEndpointByUnitImpl" "0x0000000000000000"
"13" "Windows.UI.Xaml.dll" "DirectUI::TextRangeAdapterGenerated::MoveEndpointByUnit" "0x0000000000000000"
"14" "Windows.UI.Xaml.dll" "DirectUI::AutomationPeer::UIATextRangeInvoke" "0x0000000000000000"
"15" "Windows.UI.Xaml.dll" "CManagedTextRangeProvider::MoveEndpointByUnit" "0x0000000000000000"
"16" "Windows.UI.Xaml.dll" "CUIATextRangeProviderWrapper::MoveEndpointByUnit" "0x0000000000000000"
"17" "UIAutomationCore.DLL" "RemotePatternStub::TextRange_MoveEndpointByUnit" "0x0000000000000000"
"18" "UIAutomationCore.DLL" "InvokePatternMethodOnCorrectContext_Callback" "0x0000000000000000"
```

### Why is this important?

Accounts for 2.5/5% of my app crashes (few millions of active users monthly)

### Steps to reproduce the bug

Can't reproduce unfortunately

### Actual behavior

_No response_

### Expected behavior

_No response_

### Screenshots

_No response_

### NuGet package version

None

### Windows version

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied Windows.UI.Xaml.dll stack trace, especially CInlineCollection::GetRun and the text accessibility path through CTextRangeAdapter::MoveEndpointByUnit. The issue provides no reproduction, Windows version, package version, source file, or test; done would require identifying a reproducible cause and validating a fix against the reported crash path.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
accessibility, desktop-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.