-
-
Notifications
You must be signed in to change notification settings - Fork 19.5k
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
Crash in EditorFileSystem scan due to reentrant call through Main::iteration #46893
Labels
Comments
This was referenced Apr 14, 2021
Open
This is still a problem on the latest master ( 4.0.dev 1c2766e ):
|
Duplicate of #54864 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Godot version:
4.0.dev 01851de
( Also reproduced on a build from Feb. 20, 2021. Did not test other versions )
OS/device including version:
Windows 10.0.19041.804
Issue description:
I have a tool script which opens a popup dialong. When the user clicks OK, my GDScript creates png, glb files, and other importable assets. Some assets have a custom EditorImportPlugin.
After creating the files, the tool script uses a Timer node to add a delay (to avoid any possibility of my tool script causing reentrancy into the importer), followed by calling EditorFileSystem::scan()
After the tool script completes execution and scan() is called, the Godot editor starts importing the newly created files showing the progress bar). Some assets are imported before the progress bar shows. During the process, this crash occurs.
I find the code at ProcessDialog::task_step particularly concerning. Performing a re-entrant call into Main::iteration is not something to be taken lightly. See this comment:
There are a few concerning, related issues here:
Steps to reproduce:
I have made a backup both of my project and the version of godot which causes the issue.
It is reproducible within my project if I run my tool script, but it contains assets which cannot be redistributed. I have not sufficiently narrowed down the cause.
Minimal reproduction project:
None yet, sorry.
The text was updated successfully, but these errors were encountered: