Skip to content

Descenders (681280) #10124

Description

@yonie

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 running on 11; Proton 10 titles log fsync). 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 WINEDEBUG tracing 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions