microsoft / microsoft/microsoft-ui-xaml

Crash when navigate quickly

Open
#10,920 1 comment 0 reactions 0 assignees View on GitHub
area-Navigation bug
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

Image

### 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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.