-
-
Notifications
You must be signed in to change notification settings - Fork 20.8k
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
3.2.2 Dangling Variant Crash starting Jetpaca #39776
Comments
I can't reproduce it on Mageia 8 (also with HD Graphics 630), neither with 3.2.2 RC 2 nor a current debug build from I tried cleaning up my |
For reference, here's how that race condition was described:
There's one use of threads in Jetpaca at https://github.com/KOBUGE-Games/jetpaca/blob/master/shared/music.gd#L24, that might be the issue. (You can check if disabling it fixes the crash.) |
Yup, can confirm commenting out line 24 (and the one before creating the thread) fixes it. |
Could you try inverting the order of these two lines (
) so they look like this (
) and see what happens? |
To add a little piece of insight, in general it's not safe to access any object in Godot without proper synchronization. Some containers, etc. are thread-safe by themselves, but it's not the case for the universal That's true even before the dangling |
Still crashes after inverting order. |
Thanks for testing. I'll give it a deeper look later today. |
Yup, as you say maybe the game is doing something unsafe anyway in the scripts and this is just making it more likely to occur. |
I've not been able to reproduce the crash on Windows. Tried both with and without debugger attached, debug and non-debug build. I even tried being super unsafe in the usage of the loading thread. |
Still crashing in
Steps to reproduce:
Sometimes I experienced it relatively easily by selecting Level 1 first, then exiting then Level 2 (crash on load), but other times I had to repeat many times on a single level to finally get it to crash. |
Crash still happens with 3.2.4.beta.custom_build. 279f4fb
to
Address sanitizer log
|
Still occasionally crashing in a18df71. I'm wary of working it around in Jetpaca's code as this might bite other users who wouldn't expect the engine to crash on them. If the problematic code in Jetpaca is not supported, we need to make it very clear in the documentation that such misuse can lead to crashes.
|
The crash seems fixed by #45618 🎉 Now it throws a non-crashing error instead, rightly pointing out that the Jetpaca code is doing something fishy (as we found out previouly since changing Jetpaca code could fix the crash):
|
Godot version:
3.2.2 beta2 - RC3
I have bisected this crash was introduced with commit 5d5848d.
OS/device including version:
Linux Mint 18.3
Intel core i5 7500T
HD Graphics 630
Issue description:
Crash on starting Jetpaca. (My jetpaca zip file date is 2 March 2020)
This occurs on release and debug builds.
Call stack:
Steps to reproduce:
Use 3.2.2 beta2 to RC3 to run Jetpaca project.
https://github.com/KOBUGE-Games/jetpaca
Akien reports it did not occur for him, so it may be a race condition.
The text was updated successfully, but these errors were encountered: