Skip to content

OSX/M1 window resizing crashes the engine when rendering thread model is set to multi-threaded #81402

@lekoder

Description

@lekoder

Godot version

3.5.2

System information

MacBook Air M1 2020 8GB Sonoma 14.0

Issue description

On some M1 Mac systems, setting the rendering thread model to multi-threaded causes the engine to crash when the window size is changed.

This seems to be a race condition and gets progressively worse when the game is actually doing stuff - to the point where a game like ΔV: Rings of Saturn will crash on any attempt to resize the window or switch between full-screen and windowed modes. I have verified that adding a command line of --render-thread safe fixes the problem, so I'm confident that it's caused by the multi-threaded rendering model.

You can replicate this with an empty project without code - it just requires more vigorous mouse movements to trigger.

Steps to reproduce

This replicates only on M1 Macs.

  1. Create a new project
  2. Set the rendering thread model to multi-threaded
  3. Create an empty Node2D
  4. Run it
  5. Resize the window rapidly

MRP attached.

Minimal reproduction project

mrp.zip

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Up for grabs

Relationships

None yet

Development

No branches or pull requests

Issue actions