microsoft / microsoft/microsoft-ui-xaml
Crash when navigate quickly
- Dominant language
- C++
- Stars
- 8.4k
- Forks
- 942
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 105
Description
### Describe the bug
Reproducer: [Crash.zip](https://github.com/user-attachments/files/24183104/Crash.zip)
Invoke picture item then go back
### Why is this important?
Page navigation is unreliable, the repeat threshold will be less when there are more items.
### Steps to reproduce the bug
1. Debug project
2. Invoke picture item and click GoBack quickly (e.g. click in 3Hz).
3. Repeat previous step about 30 sec.
### Actual behavior
App crashed.
### Expected behavior
App keeps running.
### Screenshots
### NuGet package version
WinUI 3 - Windows App SDK 1.8.3: 1.8.251106002
### Windows version
Windows 11 (24H2): Build 26100
### Additional context
Without native code debugging:
```
The program '[18580] Crash.exe' has exited with code 3221226505 (0xc0000409).
```
With native code debugging:
```
Microsoft.UI.Xaml.dll!00007FFAEF640B85: 8001010E - RPC_E_WRONG_THREAD
Exception thrown at 0x00007FFB817E782A (KernelBase.dll) in Crash.exe: WinRT originate error - 0x8001010E : 'The application called an interface that was marshalled for a different thread.'.
Exception thrown at 0x00007FFB817E782A in Crash.exe: Microsoft C++ exception: winrt::hresult_wrong_thread at memory location 0x0000000FF837F040.
Unhandled exception at 0x00007FFB81394ACE (ucrtbase.dll) in Crash.exe: Fatal program exit requested.
```
Contributor guide
Research direction
Start with the attached Crash.zip and reproduce the rapid picture-item navigation described in the issue: invoke the item, click GoBack repeatedly at about 3Hz, and continue for roughly 30 seconds. Compare normal debugging with native code debugging and use the reported RPC_E_WRONG_THREAD and winrt::hresult_wrong_thread errors as the starting point. Done means the app remains running during repeated navigation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100