Comments (5)
You are on a very outdated branch, please try on a supported branch and if you have your own code in your branch please remove it, bug reports are only for official code
from godot.
After further testing I've found that this issue is only present in my project,
I cannot seem to replicate it in a fresh project.
The potential causes I can think of (as someone who knows little about the core engine stuff) are:
- Something could be interfering with threading across my Autoload scripts
- it's due to the size of my project.
- the import process from 3.X to 4.X has broke something in my project
(can someone with a large project and/or a project that was imported from 3.X try running a scene containing the above code?)
I synced my Godot build with the 4.3 master branch (v4.3.beta.custom_build [44ac302e3]), only preserving my modifications to astar so that my project wouldn't throw a bunch of errors due to making unsupported function calls. The result is that the issue persists.
I'll have to test removing stuff from my Autoload scripts to see if that changes anything and I'll add it here if I find anything.
from godot.
yeah, I have no idea what causes it so far, I've disabled anything that could potentially run within my Autoload scripts and it hasn't resolved it. I'll note that in 4.3 the issue doesn't seem to appear as often when the project window is in focus.
(Also I still can't replicate it in a new project so I'm leaning towards this being somehow related to the project's size)
Really want to know if anyone can replicate it or if it's just me.
from godot.
Pretty hard to tell, I'd say the first step is to establish if it's independent of your own code, but with the vague contexts it's pretty impossible to tell or to replicate
from godot.
I've further narrowed down the code above.
I can simplify the stability test function to:
func stability_test():
label.text = ""
#stability test:
for i in range(1000):
await reattach_to_thread()
await get_tree().process_frame
label.text += ", "+str(i)
print(i)
with the issue persisting.
I also noticed that adding a delay or a print statement after the await get_tree().process_frame
like so:
await get_tree().process_frame
OS.delay_usec(100)
fixes the issue. 🤔
This leads me to believe that this is some sort of deadlocking issue where 'await get_tree().process_frame' is being called at the exact same time as the "process_frame" signal is being emitted, the await doesn't know what to do and crashes. This would explain why it's so inconsistent.
Awaiting on a process frame from a thread isn't something that is restricted in the thread_safety_checks so maybe this possibility wasn't accounted for or seen to be possible.
Though I still can't explain why it only happens in my project...
I'm probably missing something.
from godot.
Related Issues (20)
- Script editor no longer scrolls when you move line with Alt+Up/Down HOT 1
- USERDATA does not work when using GPU trails
- Spline interpolation for glTF wrongly uses Bezier instead of Hermite
- Debug menu tool tips have a transparent background making it hard, if not impossible, to read when it's shown over scripts HOT 2
- Callable.callv() will make call with wrong arguments if a const Array is passed
- Fonts with LCD Subpixel Antialiasing do not respect control's Modulate when using Forward+ or Mobile renderer HOT 2
- Queue free on node with script running async coroutine with tree timer still lets coroutine run one last time on next frame HOT 2
- "pressed" signal sometimes fails to be emitted for Button and CheckBox in Android export
- Windows can go into a state where right click doesn't rotate camera
- (EditorInspectorPlugin) `add_property_editor()` sometimes fails to catch stale reference before casting, crashes editor with segfault error. HOT 5
- Inconsistent and Broken Skipping Cursor in Editor - Godot 4.3 Beta 2 Custom HOT 2
- C# CreateTimer() does not get freed HOT 4
- when enable physics/common/physics_interpolation, the behavior of the game becomes very strange. HOT 3
- Popup menu with "Prefer Native Menu" enabled updates visually, without properties updating HOT 1
- If Prefer native menu is enabled after displaying a popupmenu at least once, it displays in odd location HOT 1
- Linking a PopupMenu to a StatusIndicator forces the PopupMenu to use the Prefer Native Menu option HOT 3
- You cannot multi-select and multi-edit in the remote scene view
- Texture does not update in running game if changed in project. Game needs to be restarted. HOT 6
- Shortcut modification does not work when Scene Tree is "selected" HOT 1
- Remote Debug is available for Web exports even if there's no debug template available
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot.