Closed marcinn closed 1 year ago
Can you reproduce this after enabling Single Window Mode in the Editor Settings, or starting the editor with the --single-window
command line argument?
Note that command line arguments are not persisted when going from the project manager to the editor, so you need to edit a project directly from the command line for --single-window
to be preserved.
Thanks. I turned on single window mode in the editor settings. I haven't recreated the crash while deleting nodes yet, but when I tried to open the editor settings and disable single window mode, the window didn't open and the editor crashed (hung) same as before.
BTW: Single Window Mode looks promising. I like it.
Next finding about not opening editor settings window. It works with clean project, but hangs with other one.
I copied project.godot settings from old project - new project still works ok.
I removed .godot
directory from old project - settings window opened, no crash.
I disabled single window mode in my old project - that's untrue. this setting is global
I'm trying to isolate the cause, but Godot can't load my fbx meshes anymore. I ran debug build and it was trying to import fbx again and again, then crashed beautifully:
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/Rock_2/Rock_2.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock6.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock5.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock4.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock3.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock2.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/ROCKSFREE/mesh/rock1.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/rocks2/uploads_files_667384_BoulderStone_03.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/rocks2/uploads_files_667384_BoulderStone_02.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "err != OK" is true. Returning: ERR_FILE_CANT_OPEN
at: append_from_file (modules/gltf/gltf_document.cpp:7036)
ERROR: Error importing 'res://objects/rocks2/uploads_files_667384_BoulderStone_01.fbx'.
at: _reimport_file (editor/editor_file_system.cpp:1928)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
ERROR: Condition "!importer.is_valid()" is true. Continuing.
at: reimport_files (editor/editor_file_system.cpp:2145)
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 42 (X_SetInputFocus)
Serial number of failed request: 19051
Current serial number in output stream: 19052
ERROR: BUG: Unreferenced static string to 0: hseparator
at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: _compression
at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: blender/animation/group_tracks
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/animation/always_sample
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/animation/limit_playback
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/materials/export_materials
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/materials/unpack_enabled
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/export_bones_deforming_mesh_only
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/skins
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/tangents
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/normals
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/uvs
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/meshes/colors
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/nodes/modifiers
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/nodes/custom_properties
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/nodes/cameras
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/nodes/punctual_lights
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: blender/nodes/visible
at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @tool
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: @export
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: @icon
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: _update_script_names
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: GizmoLightmapGI
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: EditorRect2D
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: PrevScene
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: GuiHsplitBg
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: GuiToggleOnDisabledMirrored
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: title_button_font_size
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: show_errors_panel
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: load_theme_settings
at: unref (core/string/string_name.cpp:129)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: tab_clicked
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: physics_frame
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: process_frame
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: version_changed
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: joy_connection_changed
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: started
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: main_screen_changed
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: scene_changed
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: frame_post_draw
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: frame_pre_draw
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: interface_added
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: setup_local_to_scene_requested
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: button_up
at: unref (core/string/string_name.cpp:131)
ERROR: Method argument to Callable constructor must be a non-empty string
at: Callable (core/variant/callable.cpp:275)
ERROR: BUG: Unreferenced static string to 0: settings_changed
at: unref (core/string/string_name.cpp:131)
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.alpha.custom_build (eb6ebdc4aff88de8da4217dfe1c4f226a1fd2132)
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x42560) [0x7f678e4ac560] (??:0)
[2] HashMap<StringName, HashMap<StringName, Color, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::getptr(StringName const&) const (??:0)
[3] HashMap<StringName, HashMap<StringName, Color, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::has(StringName const&) const (??:0)
[4] Theme::has_color(StringName const&, StringName const&) const (??:0)
[5] Theme::has_theme_item(Theme::DataType, StringName const&, StringName const&) const (??:0)
[6] Color Control::get_theme_item_in_types<Color>(Control*, Window*, Theme::DataType, StringName const&, List<StringName, DefaultAllocator>) (??:0)
[7] Control::get_theme_color(StringName const&, StringName const&) const (??:0)
[8] EditorLog::_add_log_line(EditorLog::LogMessage&, bool) (??:0)
[9] EditorLog::_process_message(String const&, EditorLog::MessageType) (??:0)
[10] EditorLog::add_message(String const&, EditorLog::MessageType) (??:0)
[11] EditorLog::_error_handler(void*, char const*, char const*, int, char const*, char const*, bool, ErrorHandlerType) (??:0)
[12] _err_print_error(char const*, char const*, int, char const*, char const*, bool, ErrorHandlerType) (??:0)
[13] _err_print_error(char const*, char const*, int, String const&, bool, ErrorHandlerType) (??:0)
[14] StringName::unref() (??:0)
[15] StringName::~StringName() (??:0)
[16] HashMap<StringName, Object::SignalData, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::Pair::~Pair() (??:0)
[17] HashMap<StringName, Object::SignalData, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::Element::~Element() (??:0)
[18] void memdelete<HashMap<StringName, Object::SignalData, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::Element>(HashMap<StringName, Object::SignalData, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::Element*) (??:0)
[19] HashMap<StringName, Object::SignalData, HashMapHasherDefault, HashMapComparatorDefault<StringName>, (unsigned char)3, (unsigned char)8>::erase(StringName const&) (??:0)
[20] Object::~Object() (??:0)
[21] RefCounted::~RefCounted() (??:0)
[22] Resource::~Resource() (??:0)
[23] EditorSettings::~EditorSettings() (??:0)
[24] void memdelete<EditorSettings>(EditorSettings*) (??:0)
[25] Ref<EditorSettings>::unref() (??:0)
[26] Ref<EditorSettings>::~Ref() (??:0)
[27] /usr/lib/libc.so.6(+0x44c05) [0x7f678e4aec05] (??:0)
[28] /usr/lib/libc.so.6(on_exit+0) [0x7f678e4aed80] (??:0)
[29] /usr/lib/libX11.so.6(+0x439c8) [0x7f678e88e9c8] (??:0)
[30] /usr/lib/libX11.so.6(_XError+0x125) [0x7f678e88eb05] (??:0)
[31] /usr/lib/libX11.so.6(+0x407a8) [0x7f678e88b7a8] (??:0)
[32] /usr/lib/libX11.so.6(+0x40845) [0x7f678e88b845] (??:0)
[33] /usr/lib/libX11.so.6(_XReply+0x1ed) [0x7f678e88c86d] (??:0)
[34] /usr/lib/libX11.so.6(XSync+0x4d) [0x7f678e887fbd] (??:0)
[35] DisplayServerX11::process_events() (??:0)
[36] OS_LinuxBSD::run() (??:0)
[37] /home/marcin/src/vendor/godot/bin/godot.linuxbsd.tools.64(main+0x174) [0x561975d6010d] (??:0)
[38] /usr/lib/libc.so.6(+0x2d310) [0x7f678e497310] (??:0)
[39] /usr/lib/libc.so.6(__libc_start_main+0x81) [0x7f678e4973c1] (??:0)
[40] /home/marcin/src/vendor/godot/bin/godot.linuxbsd.tools.64(_start+0x25) [0x561975d5fec5] (??:0)
-- END OF BACKTRACE --
================================================================
I'm still trying to reproduce the issue with a clean project.
Sorry posting here: I had older version of fbx2gltf (0.9.5) which was adding .glb
extension to the output path by itself (created files had doubled extensions). That's why Godot was failing to import FBXs. I'm not sure if such case should be handled by Godot, but maybe it's worth documenting.
Sorry posting here: I had older version of fbx2gltf (0.9.5) which was adding
.glb
extension to the output path by itself (created files had doubled extensions). That's why Godot was failing to import FBXs. I'm not sure if such case should be handled by Godot, but maybe it's worth documenting.
The fbx2gltf integration is being worked on in https://github.com/godotengine/godot/pull/59810. It's probably a good idea to add version detection on startup by running its --version
command line argument (if any) and parsing the output.
Using the V-Sekai fork of fbx2gltf is also highly recommended. In fact, the upstream version of fbx2gltf will probably not be supported (or with a warning on startup), since it doesn't appear to be actively maintained.
I seem to have a similar problem with hanging popups and I did observe that enabling one window mode did solve the problem, which shouldn't be the permanent solution. I also did notice that this only happens if the Editor Window isn't being rendered, e.g. it happens when I maximize or fullscreen the Popup or put it to another workspace (I'm using sway).
The "XCreateIC couldn't create wd.xic" warning I get either way, not sure whether this is a problem because I'm using Wayland.
For me, Godot 4 is still completely because of the issues with editor UI. When single mode window is disabled, Godot is almost always crashing on popups. When single mode is enabled, the editor "hangs" while opening Editor Settings or Project Settings windows (windows aren't displayed and UI becomes unresponsive). Tested just now on Godot Engine v4.0.alpha.custom_build.25908c17c.
I've noticed hangs too recently, here is my setup: 5.15.80-1-MANJARO, Ryzen 7 4800H. AMD iGPU.
I started noticing hangs when saving scripts and scenes as recently as Godot 4 Beta 5, just tried Beta 7 and it is still happening.
Going back to older Betas does hang now too(!) where it didn't before (pretty confident on this one, been using the alphas and betas a lot).
I even completely reinstalled my system from scratch, issue still happens (though, I didn't try prior updating all packages). The current Manjaro Gnome ISO comes with Gnome 42(?) and updates to 43 through the package manager. No idea if this might be the culprit (I've noticed some problems here and there with Gnome 43 unrelated to Godot).
Detailed description: When saving a scene using ctrl+s, usually a popup indicating the save progress appears, but randomly (quite frequent) the editor hangs before the popup even shows. Using --single-window
I couldn't recreate the hang, yet!
I tried finding out more using strace and lsof and could see there were some Pipes being read and written to over and over again(?). But I'm not experienced enough to know if this is unusual for Godot (the pipes are owned and supposedly created by the godot process itself, some internal communication path).
I'm happy to debug more (no problems compiling Godot myself). If someone has any ideas and can tell me what to do (compile with debug symbols, etc) just let me know.
Edit: Regarding Gnome: I just tried Budgie, as well as another display manager (lightdm vs gdm) and another kernel. Nothing changed. Wild guess: Some linter thing getting stuck?
What I did notice though, is that the save-dialog hang only occurs when the code-tab is active. When in i.e. the 3D tab the save-dialog never hangs.
I encountered this hang, and it was fixed using the --single-window
trick.
I suspect a steps to reproduce could be:
My other suspected "steps to reproduce" on here is that I naively copied a huge amount of assets into a ./assets
folder in the project foler, and it was importing them. It's possible it was just doing that import work and making the rest of the UI unresponsive and slow while it was importing.
I have this issue with second layer modal windows, where the redrawing of the window is 1 frame / 4 seconds. This is in RC1. Its fixed using the --single-window trick.
Similar issue on my end, except the main window completely stops responding. It's still an issue for me on rc4 and seems to have started around Beta 14-15 at least since Beta 13, possibly as far back for me as Beta 1 based on further testing. --single-window
fixes it with no discernable issues caused by it.
Closing in favor of https://github.com/godotengine/godot/issues/77333, as this appears to be the same issue. The editor appears to hangs because popups are exclusive, but minimized so you can't interact with them.
Godot version
v4.0.alpha.custom_build.eb6ebdc4a
System information
Manjaro Linux, 5.10.105-1-MANJARO, x86_64, NVIDIA GM107GLM [Quadro M620 Mobile] nvidia 510.54, X11, Vulkan
Issue description
On my setup Godot 4 editor is mostly hanging on opening popups/modals, ie. confirmation of delete a node. This issue makes editor unusable. 90%+ of hangs are related to this issue. It looks like optimized build hangs more often than debug build. Also there is no backtrace, so it is hard to track the issue. This problem has been present in previous builds.
I dumped some logs and last core dump.
An excerpt from a stdout log:
The last ERROR is repeated many times.
A core dump in text format:
Log files (readable with
less -R filename
):Steps to reproduce
Open a project (preferably using optimized build), add some nodes, try to delete nodes. Once in a while the editor will hang on displaying popup/modal.
Minimal reproduction project
PopupCrash.zip