Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workaround (temporarily) ScriptServer mutex issues #85165

Closed
wants to merge 1 commit into from

Conversation

RandomShaper
Copy link
Member

This is an intended workaround to some issues due to some underlying MinGW bug coupled with #84657. #85039 aims to address them for good, but so late in the release cycle we need a compromise solution.

Fixes #78734.
Fixes #85105.

@akien-mga
Copy link
Member

Test build made with mingw-gcc of 4.2.rc1 + this PR applied:

https://downloads.tuxfamily.org/godotengine/testing/Godot_v4.2-rc1_mingw-mutex-fixup.exe.zip

@RandomShaper
Copy link
Member Author

Can't reproduce #78734, but I can't reproduce it anymore prior to any of the fixes, so I can't tell for sure.

@YuriSizov
Copy link
Contributor

YuriSizov commented Nov 21, 2023

Unfortunately, #85105 doesn't appear to be fixed. I can still trigger the crash exactly the same way, although I did get it to hang for a bit and then proceed successfully once or twice. So, better? There is definitely a change in behavior. But ultimately, no, doesn't fix it.

Edit: Just to be sure I retested #85039 and it works perfectly fine, just like my own MSVC builds of master. Not arguing in favor of #85039, but just as a point of reference — this definitely resolves the issue completely.

@YuriSizov
Copy link
Contributor

In further testing, I'm also able to reproduce #78734 now. It's very consistent, although it doesn't always unravel the same way. Sometimes it loads just fine, sometimes it hicks up and crashes immediately, and sometimes it goes for many frames before giving up. Although sometimes it makes it through, very very slowly. Probably just a freakishly low chance, but sometimes dice roll in your favor 🙃

With this fix the behavior is consistent with what I've described in the previous comment. The crash is still there, but sometimes it hangs and tries to slowly process something. And the visual indication of the hang is exactly the same here as in #85105 with this PR. Every second or so there is a spinning indicator on the cursor which quickly disappears. So like it processes for half a second and waits, processes and waits.


The #85039 PR consistently resolves the issue again, the loading in #78734 happens as expected.

@akien-mga
Copy link
Member

Superseded by #85039.

@akien-mga akien-mga closed this Nov 21, 2023
@YuriSizov YuriSizov removed this from the 4.2 milestone Nov 21, 2023
@RandomShaper RandomShaper deleted the spin_wa branch November 21, 2023 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants