ValveSoftware / ValveSoftware/Proton
Descenders (681280)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Game: Descenders (appid 681280) — Unity 2017.4.40f1, Windows depot
Regression: works on Proton 9.0 and 10.0, crashes on Proton 11
Tested: 11.0-2c and experimental-11.0-20260903b — both crash
OS/GPU: SteamOS 3.8.26 (beta), Game Mode, Mesa RADV, NAVI33
Symptom
Intermittent crash a few seconds after the window appears, during the boot logo
videos. Roughly 5 of 7 launches on Proton 11; never observed on 9 or 10.
MFReadWrite.dll caused an Access Violation (0xc0000005)
Read from location ffffffff caused an access violation.
Fault
--- Exception 0xc0000005 addr=MFReadWrite.dll+0x8553
info[0]=0000000000000000
info[1]=FFFFFFFFFFFFFFFF
backtrace:
MFReadWrite.dll + 0x8553
MFReadWrite.dll + 0x9622
rtworkq.dll + 0x3580
rtworkq.dll + 0x5957
ntdll.dll + 0x6D7AD
ntdll.dll + 0x6C668
kernel32.dll + 0x11649
ntdll.dll + 0x10E0F
Trace
A second MP4 media source is created ~15 ms before the crash, while the first
source reader is still draining stream events on an rtworkq worker thread:
mfplat:presentation_descriptor_SetString ..., MF_PD_MIME_TYPE, L"video/mp4" <- source #2
...
wg_transform_read_data: Cannot read 3110400 bytes, no output available
...
mfplat:source_reader_stream_events_callback_Invoke ... stream A
mfplat:media_stream_Release stream A, refcount 1
mfplat:source_reader_stream_events_callback_Invoke ... stream B
mfplat:media_stream_Release stream B, refcount 1
--- Exception 0xc0000005
3110400 = 192010801.5, one 1080p frame. The decoder had no output available,
and the source reader then reads through a -1 pointer dispatching a stream event.
Notes on cause
- Not the video content: replacing the boot videos with a synthetic 1 s black
clip (H.264 Main, 1080p, 30 fps, silent AAC) reproduces it identically. - Not winedmo: Proton 10 ships winedmo and does not crash.
- The visible difference is ntsync, new in Proton 11 (this title logs
ntsync: up and runningon 11; Proton 10 titles logfsync).PROTON_NO_FSYNC=1
does not help on 11, as expected — it does not affect ntsync, and there appears
to be no ntsync opt-out to test against. - Timing-sensitive: with heavy
WINEDEBUGtracing enabled the crash sometimes
does not occur, consistent with a race.
Corroboration
A ProtonDB report from ~5 months ago on proton-cachyos describes the same thing:
"Sometimes, game would crash on startup. Goes away after second launch."
Workaround
Force Proton 10 (or 9).
Full PROTON_LOG available on request.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by reproducing the Descenders boot-video crash on Proton 11 and comparing it with Proton 10, focusing on the ntsync and Media Foundation traces described here. Done would mean identifying and correcting the race so repeated launches no longer crash, while preserving the existing Proton 10 behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100