CommunityToolkit / CommunityToolkit/Windows

Segment throws an error when `FailFastOnErrors` is true.

Offen
#438 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug components::controls::segmented
Vorherrschende Sprache
C#
Sterne
1.1k
Forks
166
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Describe the bug

In Windbgx The stack has

* CommunityToolkit_WinUI_Controls_Segmented!CommunityToolkit.WinUI.Controls.SegmentedRns.CommunityToolkit_WinUI_Controls_Segmented_XamlTypeInfo.XamlTypeInfoProvider.set_9_FrameworkElementExtensions_AncestorType+0x5e
* CommunityToolkit_WinUI_Controls_Segmented!CommunityToolkit.WinUI.Controls.SegmentedRns.CommunityToolkit_WinUI_Controls_Segmented_XamlTypeInfo.XamlMember.SetValue+0x59

!Analyze gives

PROCESS_NAME: DevHome.dll

ERROR_CODE: (NTSTATUS) 0xc000027b - An application-internal exception has occurred.

SYMBOL_NAME: Microsoft_UI_Xaml!DirectUI::MetadataAPI::GetClassInfoFromOtherTypeBox+2b112e

MODULE_NAME: Microsoft_UI_Xaml

IMAGE_NAME: Microsoft.UI.Xaml.dll

FAILURE_BUCKET_ID: STOWED_EXCEPTION_80070057_Microsoft.UI.Xaml.dll!DirectUI::MetadataAPI::GetClassInfoFromOtherTypeBox

FAILURE_ID_HASH: {a398aebf-f73a-9df8-1025-000183a2eb14}

FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureSearchText=a398aebf-f73a-9df8-1025-000183a2eb14

Looking into GetClassInfoFromOtherTypeBox. the runtime class name is null and causes a crash when trying to parse it

### Steps to reproduce

```text
Make a new Win UI 3 app.
Add a Segmented control to the app.
Inside App.Xaml.cs set `FailFastOnErrors` to true
Launch the app.
```

### Expected behavior

The app launches.

### Screenshots

_No response_

### Code Platform

- [ ] UWP
- [X] WinAppSDK / WinUI 3
- [ ] Web Assembly (WASM)
- [ ] Android
- [ ] iOS
- [ ] MacOS
- [ ] Linux / GTK

### Windows Build Number

- [ ] Windows 10 1809 (Build 17763)
- [ ] Windows 10 1903 (Build 18362)
- [ ] Windows 10 1909 (Build 18363)
- [ ] Windows 10 2004 (Build 19041)
- [ ] Windows 10 20H2 (Build 19042)
- [ ] Windows 10 21H1 (Build 19043)
- [ ] Windows 10 21H2 (Build 19044)
- [ ] Windows 10 22H2 (Build 19045)
- [X] Windows 11 21H2 (Build 22000)
- [ ] Other (specify)

### Other Windows Build number

_No response_

### App minimum and target SDK version

- [ ] Windows 10, version 1809 (Build 17763)
- [ ] Windows 10, version 1903 (Build 18362)
- [ ] Windows 10, version 1909 (Build 18363)
- [ ] Windows 10, version 2004 (Build 19041)
- [ ] Windows 10, version 2104 (Build 20348)
- [ ] Windows 11, version 22H2 (Build 22000)
- [ ] Other (specify)

### Other SDK version

_No response_

### Visual Studio Version

2022

### Visual Studio Build Number

17.10.1

### Device form factor

_No response_

### Additional context

_No response_

### Help us help you

No, I'm unable to contribute a solution.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with the Segmented control's generated XAML type information, especially XamlTypeInfoProvider.set_9_FrameworkElementExtensions_AncestorType and XamlMember.SetValue from the reported stack. Reproduce in a new WinUI 3 app by enabling FailFastOnErrors in App.Xaml.cs, then compare the launch behavior with and without the control. Done means the app launches without the reported Microsoft.UI.Xaml exception.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
desktop, frontend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.