-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Condition ' p_elem->_root != this ' is true error for unknown reason #22565
Comments
Some others have reproduced this using my code on their (Windows, prebuilt stable) machines, although it took a bit of persuasion. This confirms it's not just a problem with my own machine, or with my custom build (by "custom" I just mean it was compiled from source, there's no actual changes to the source) |
So since nobody seems interested in helping me with this issue, I've taken some initiative of my own. Here's GDB backtrace at the point of the error.
|
So I've found the issue; the problem is that I'm setting the translation of a node from a thread. It would be nice if the docs were clearer about thread safety. Additionally it would be nice if the engine trusted me to use mutexes properly, although I understand that's difficult considering plenty of internal code could modify things like the translation as well. I'll close this issue in a bit unless anybody else wants to discuss, since my specific problem has been fixed |
Godot version:
v3.0.6 Stable (installed from AUR package; compiled)
OS/device including version:
Arch Linux, laptop /w i7, Intel Graphics (graphics not relevant)
Issue description:
The error
Condition ' p_elem->_root != this ' is true
begins getting spammed to console anywhere between 0-30 seconds after game startSteps to reproduce:
Unknown (I'm sorry)
Minimal reproduction project:
Since I've been unable to reproduce the issue I don't have any kind of reproduction project ofc. Here's the tarball for my entire project if it's wanted.
OpenFortress.tar.gz
Since I haven't given much to work with, I'll go over some of the things I've already checked. The only time I'm running
add_child
,remove_child
, orqueue_free
(either directly or viacall_deferred
) is at game start (specifically on connection to the server). Sometimes the error begins immediately, and sometimes it takes some amount of time. Usually the game continues functioning fine even after the error has begun printing. Once the error has started printing, it continues to spam out into console until the process is killed. Setting the client to not load the map has no effect.Moving specifically onto my project's code (I understand you probably don't have time to look through my code but in case you do), as you can see by the debug line in
Client.gd:38
, I am never removing nodes, andClient.gd:50
is only called once (on connection to the server). Decreasing the server tick rate delays the error slightly, but other than that has no effect (Server.gd:5
). If you're trying to run my code, the movement keys are,aoe
notwasd
, and although the code should work on other platforms, thededicated_server.sh
script as well as theHost
button in-game will not work OOTB on Windows or Mac, so you might need to take a look at thededicated_server.sh
script and adapt it to your own needs.Again, I know I haven't really given much to work with, but any help is greatly appreciated.
The text was updated successfully, but these errors were encountered: