CommunityToolkit / CommunityToolkit/Windows
Segment throws an error when `FailFastOnErrors` is true.
- 主要言語
- C#
- スター
- 1.1k
- フォーク
- 166
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### 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.
コントリビューションガイド
調査の方向性
まず、Segmented control によって生成された XAML 型情報、特に報告されたスタックにある XamlTypeInfoProvider.set_9_FrameworkElementExtensions_AncestorType と XamlMember.SetValue から確認します。App.Xaml.cs で FailFastOnErrors を有効にして新しい WinUI 3 アプリで再現し、その後、control の有無による起動動作を比較します。報告された Microsoft.UI.Xaml 例外なしでアプリが起動すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp
- 領域
- desktop, frontend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100