godot
godot copied to clipboard
In any project using Godot 4.3, disabling Vsync will cause the entire macOS system to freeze and crash
Tested versions
- 4.3.beta2
- 4.3.beta1
- 4.3.dev
System information
Vulkan Forward+, MacOS 14.4.1 (23E224), Apple M3 Pro, Macbook Pro 2023 later.
Issue description
I've encountered a critical issue with Godot 4.3 on macOS where disabling Vsync in any project results in a complete system freeze and subsequent crash. This problem consistently occurs regardless of the project's complexity or other settings. The system becomes entirely unresponsive, requiring a hard reboot. This behavior poses a significant risk for data loss and interrupts the workflow.
Steps to reproduce
Steps to Reproduce:
- Open any project in Godot 4.3 on a macOS system.
- Navigate to the project settings.
- Disable the Vsync option.
- Observe that shortly after disabling Vsync and run the project, the macOS system freezes and crashes.
Minimal reproduction project (MRP)
Can't reproducible this issue on MacbookPro14 MacOS14.5 M3 Max
Can't reproduce it on 4.3beta2 and MacBookPro14 MacOS14.5 M1 Pro 16GB either
Can't reproduce with Godot v4.3.beta1 - macOS 13.6.6 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)
Can't reproduce with Godot v4.3.beta2 - macOS 14.5.0 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)
@Xwdit Can you try again with a recent version, running this command on the terminal at the same time?
# Will print the current thermal status of the Apple Silicon
# https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/RespondToThermalStateChanges.html
sudo powermetrics --samplers thermal --sample-rate 1000 | grep "Current pressure level:"
We're thinking that maybe it crashes because your laptop is running too hot. On my machine, it stays "Nominal".
I recorded a video to demonstrate this issue.
https://github.com/godotengine/godot/assets/44023235/a9f1b1e6-00ad-48b4-be50-be4f7aa69059
Can't reproduce with Godot v4.3.beta2 - macOS 14.5.0 - Vulkan (Forward+) - integrated Apple M2 - Apple M2 (8 Threads)
@Xwdit Can you try again with a recent version, running this command on the terminal at the same time?
# Will print the current thermal status of the Apple Silicon # https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/RespondToThermalStateChanges.html sudo powermetrics --samplers thermal --sample-rate 1000 | grep "Current pressure level:"We're thinking that maybe it crashes because your laptop is running too hot. On my machine, it stays "Nominal".
I recorded a video to demonstrate this issue.
It will 100% crash in an empty project after disabling vsync, but there are no issues when vsync is enabled; also, this issue cannot be reproduced in version 4.2.
https://github.com/godotengine/godot/assets/44023235/a9f1b1e6-00ad-48b4-be50-be4f7aa69059
Can you check system temperature while Godot is running with V-Sync off? I suspect an overheating issue, especially since M3 CPUs are more prone to overheating than previous models.
I'm not sure if macOS has built-in utilities for this, but there are surely third-party utilities that can report this information (e.g. in the task bar).
I'm not sure if macOS has built-in utilities for this, but there are surely third-party utilities that can report this information (e.g. in the task bar).
@Calinou, I shared a command that does just that a few comments before.
@Xwdit Can you try again with a recent version, running this command on the terminal at the same time?
# Will print the current thermal status of the Apple Silicon # https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/RespondToThermalStateChanges.html sudo powermetrics --samplers thermal --sample-rate 1000 | grep "Current pressure level:"We're thinking that maybe it crashes because your laptop is running too hot. On my machine, it stays "Nominal".
Can't reproduce on my new MacBook Pro M3 Max. The temperature stays nominal and nothing dramatic happens. It would really help if you can show the current temperature of your system. Does it feel hot to touch?
This is very similar to #91042
Thanks for the report! Consolidating in https://github.com/godotengine/godot/issues/91042.
Running standard release 4.3 So far I have gotten a crash and a system wide slow down on two occasions while following the starter tutorials, this is with v-sync on. I was not able to finish it due to bugs. Running M3 Max with 36GB and 1TB SSD, connected to external 4k 50" samsung TV Q90. There are moments when it runs perfectly fine, then just at random times its freezes. Not sure if this is normal behavior or not but everytime I went to run the game, it would run whatever scene I was in instead of the actual main game scene, I had to keep going into 2D view, select my main scene, then run it. Otherwise it would just run a blank screen if I didn't do that. I stopped using it after this point, not very productive. I was running Bottom in the terminal for monitoring, nothing unusual while using it, temps were in the normal high 40's low 50's give or take, memory usage maybe in the 20Gb range, but not once did my fans kick on even after a few hrs of constant use. These bugs did start happening as my scene became more complex, was fine at the start.