godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.64k stars 20.1k forks source link

Godot 4 hangs on popups/modals #60073

Closed marcinn closed 1 year ago

marcinn commented 2 years ago

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:

Editing project: /home/marcin/Godot/4/PopupCrash (::home::marcin::Godot::4::PopupCrash)
Godot Engine v4.0.alpha.custom_build.eb6ebdc4a - https://godotengine.org
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - Quadro M620

WARNING: XOpenIM failed
     at: DisplayServerX11 (platform/linuxbsd/display_server_x11.cpp:4578)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
    loader_scanned_icd_add: Driver /usr/lib/libvulkan_intel.so supports Vulkan 1.2, but only supports loader interface version 4. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7)
    Objects - 1
        Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 94362314635600
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:156)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XOpenIM failed
     at: DisplayServerX11 (platform/linuxbsd/display_server_x11.cpp:4578)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
    loader_scanned_icd_add: Driver /usr/lib/libvulkan_intel.so supports Vulkan 1.2, but only supports loader interface version 4. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7)
    Objects - 1
        Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 94198274855664
     at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:156)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/display_server_x11.cpp:4398)
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  42 (X_SetInputFocus)
  Serial number of failed request:  18758
  Current serial number in output stream:  18758
ERROR: BUG: Unreferenced static string to 0: physics_process
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: physics_process_internal
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: _update_script_names
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: GizmoLightmapGI
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: EditorRect2D
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: PrevScene
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: GuiHsplitBg
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: GuiToggleOnDisabledMirrored
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: title_button_font_size
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: show_errors_panel
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: load_theme_settings
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: physics_frame
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: process_frame
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: version_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: joy_connection_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: main_screen_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: frame_post_draw
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: frame_pre_draw
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: button_up
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: settings_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)
ERROR: Condition "!EditorSettings::get_singleton()->has_setting(p_setting)" is true. Returning: Variant()
   at: _EDITOR_GET (editor/editor_settings.cpp:1066)

The last ERROR is repeated many times.

A core dump in text format:

           PID: 335466 (godot.linuxbsd.)
           UID: 1000 (marcin)
           GID: 1000 (marcin)
        Signal: 11 (SEGV)
     Timestamp: Sat 2022-04-09 18:47:11 CEST (6min ago)
  Command Line: /home/marcin/src/vendor/godot/bin/godot.linuxbsd.opt.tools.64 --path /home/marcin/Godot/4/PopupCrash --editor
    Executable: /home/marcin/src/vendor/godot/bin/godot.linuxbsd.opt.tools.64
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.gnome.Terminal.slice/vte-spawn-9723370c-8683-4771-81bf-43e1140eb084.scope
          Unit: user@1000.service
     User Unit: vte-spawn-9723370c-8683-4771-81bf-43e1140eb084.scope
         Slice: user-1000.slice
     Owner UID: 1000 (marcin)
       Boot ID: 7d1294c7db334dafae748664fcd0f5a7
    Machine ID: 7a735b6e595c450a999294ed131311a4
      Hostname: mobilestation
       Storage: /var/lib/systemd/coredump/core.godot\x2elinuxbsd\x2e.1000.7d1294c7db334dafae748664fcd0f5a7.335466.1649522831000000.zst (present)
     Disk Size: 77.7M
       Message: Process 335466 (godot.linuxbsd.) of user 1000 dumped core.

                Module /home/marcin/src/vendor/godot/bin/godot.linuxbsd.opt.tools.64 with build-id 60e948948a9832da22f041df0e0bc80a7a7aa54d
                Module linux-vdso.so.1 with build-id ef9f606094386649a745ca803d8d72971eaac29e
                Module libresolv.so.2 with build-id 46ffdf3d477a170314060c26927470d7399bc900
                Module libogg.so.0 with build-id ca0cae30a809f10db1f16e54a23b4e5ff7b2c54c
                Module libvorbis.so.0 with build-id f4e086347f6c1a66eb73cfe13974a29bd39aabca
                Module libopus.so.0 with build-id 35fafc4024675e9cfe57c7d50c3965eac6bac358
                Module libFLAC.so.8 with build-id d3c01b1bab8e878ff3928ba64a5817506bad1aa6
                Module libvorbisenc.so.2 with build-id 2b1ce7fcdcc925bc663ebe2c1c008c0dd96e5bd0
                Module libasyncns.so.0 with build-id 6acff139d56b5139ce5eb50a66c62b215e1d332d
                Module libsndfile.so.1 with build-id 72d5531e74ed3e9afe49e95e449c40cb8984a258
                Module libpulsecommon-15.0.so with build-id 1ff39f66b974fdf20be485f556b48ff4e6c33868
                Module libpulse.so.0 with build-id b145e13bdb30c8327de7882ec9976fab38bc3e4a
                Module libasound.so.2 with build-id b17fc1317a484842433c772360376623b64ec3d8
                Module libudev.so.1 with build-id 7dc938362569112855b6086de066cd6a18d1b978
                Module libxcb-glx.so.0 with build-id 8ad115382ad874165523dc5b4488c99d73bbc3c4
                Module libnvidia-glvkspirv.so.510.54 with build-id a8f45cf876a8c8b2e10f91f89aca1d57febb3526
                Module libVkLayer_MESA_device_select.so with build-id 22eb34aa659bea43a0eeb32412837a8c34729854
                Module libffi.so.8 with build-id f90d8b734f6de9b25faedb8cbfab7054dafc0a42
                Module libstdc++.so.6 with build-id 88ad4eff81a00c684abfe0f863e87434123d8943
                Module libxshmfence.so.1 with build-id 8876d9ccf620858795724ca24b9e567585a77cec
                Module libxcb-shm.so.0 with build-id fb797f299a446f559a95afcc168227482cc800d1
                Module libxcb-randr.so.0 with build-id b6c1c7d4b28863b55ade251813db7f246b7ffe8b
                Module libxcb-sync.so.1 with build-id dda14591103b01b1311906053bf1ca9e82ade35c
                Module libxcb-present.so.0 with build-id 68f5465258750e2397b1333b3ffc01ee33caa4e1
                Module libX11-xcb.so.1 with build-id 0db4f94d8ae31b8dc9a83f825a9171656f1e532c
                Module libexpat.so.1 with build-id a05c64fe82308a309e7653685c94ce71735f8a1a
                Module libz.so.1 with build-id 0c1459c56513efd5d53eb3868290e9afee6a6a26
                Module libwayland-client.so.0 with build-id 0a237f2fd096bada4ca381eec5d64474c4078be4
                Module libxcb-dri3.so.0 with build-id 9407a2480e09dc5a1dd9d9a0652fa8d32b328c91
                Module libdrm.so.2 with build-id 00816f0a71c7e4e388c10db6245dbb9c031732a9
                Module libvulkan_intel.so with build-id 1543240d1036213bb96e8b33845bcdca8fa4aa58
                Module libvulkan.so.1 with build-id e51d30864bc4e0d36087d09e4c30892f91fa594a
                Module librt.so.1 with build-id 4761858b348db8303e872e515aa8d56c046c921c
                Module libnvidia-glcore.so.510.54 with build-id 7576be7cecae485aa6f8120c1f040126301938e7
                Module libnvidia-tls.so.510.54 with build-id 1f7f903b99300700f138d986877210c4e12316f7
                Module libnvidia-glsi.so.510.54 with build-id 6e562292b666f11bb7f2759532ae2c7efcd0d8b5
                Module libGLX_nvidia.so.0 with build-id a549c126fae9351ecf6621544582df2d25b27f42
                Module libgpg-error.so.0 with build-id 82524ee3d1c4c2244d7cfdcc1e6eea5f9855f6c6
                Module libpthread.so.0 with build-id 7fa8b52fae071a370ba4ca32bf9490a30aff31c4
                Module libgcc_s.so.1 with build-id 5d817452a709ca3a213341555ddcf446ecee37fa
                Module libgcrypt.so.20 with build-id db45f5d5e0f7af1e77324fea1885f974619ad268
                Module libcap.so.2 with build-id eb6dae97527fc89dbb0d5bb581a15acd02ae9f56
                Module liblz4.so.1 with build-id e63600ab23b2f6997f42fac2fa56e1f02ce159a1
                Module libzstd.so.1 with build-id 72f3511cba7db578f6a2647925f35664da6c838b
                Module liblzma.so.5 with build-id 8b615460aa230708c5183f16bede67aa0437d95e
                Module libXdmcp.so.6 with build-id 8ca0792d23c8b8b4c0864297512349292bea5955
                Module libXau.so.6 with build-id 1c67764663e07bec24d8951e5fd93f4d165979ff
                Module libGLX.so.0 with build-id 2a08836c6e6126ce9ff4496b6aacaf29ae9b4e7b
                Module libGLdispatch.so.0 with build-id 501765b3a78d668860fa54229b18107473aeda4c
                Module libsystemd.so.0 with build-id 05d0460efefd339d315812f9506aecc5a5d22200
                Module libdl.so.2 with build-id bb9bd2657bfba9f60bd34d2050cc63a7eb024bc4
                Module libxcb.so.1 with build-id 0d1ef11740a5daad2ee331e812a51aa6574af222
                Module libXfixes.so.3 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
                Module ld-linux-x86-64.so.2 with build-id c09c6f50f6bcec73c64a0b4be77eadb8f7202410
                Module libc.so.6 with build-id 85766e9d8458b16e9c7ce6e07c712c02b8471dbc
                Module libm.so.6 with build-id 596b63a006a4386dcab30912d2b54a7a61827b07
                Module libGL.so.1 with build-id 912ac4f37a9fa2d5abcf7a9088c9983cfe46f12a
                Module libdbus-1.so.3 with build-id 7f4b16b4b407cbae2d7118d6f99610e29a18a56a
                Module libXi.so.6 with build-id 16603be937a02a7e61b0b0395d064be7efd86f49
                Module libX11.so.6 with build-id 5ba5798d193c0065014b8c6252a0678671c8d478
                Module libXrender.so.1 with build-id 97e0b9ab6ba96ebc86527cc2b3c3078aad8616b3
                Module libXrandr.so.2 with build-id d4e869b5c72541e1de8f96b456248987ea52d51b
                Module libXext.so.6 with build-id d70f24beb4fad748d6becffdcc13e51be0a2ebfa
                Module libXinerama.so.1 with build-id dbb6adece34ea2766d3efcd628af8f9757344dd6
                Module libXcursor.so.1 with build-id eb6315bcd7526aaf51b0a1307efdc587cea0a152
                Stack trace of thread 335471:
                #0  0x00007fc6352e649b __vfprintf_internal (libc.so.6 + 0x7049b)
                #1  0x00007fc6352e88bf buffered_vfprintf (libc.so.6 + 0x728bf)
                #2  0x000055ac3b570ff2 n/a (/home/marcin/src/vendor/godot/bin/godot.linuxbsd.opt.tools.64 + 0x42a1ff2)
                ELF object binary architecture: AMD x86-64

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

Calinou commented 2 years 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.

marcinn commented 2 years ago

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.

godot_modal_bug7.log.zip

BTW: Single Window Mode looks promising. I like it.

marcinn commented 2 years ago

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.

marcinn commented 2 years ago

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.

Calinou commented 2 years ago

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.

DigitalDragon64 commented 2 years ago

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.

marcinn commented 2 years ago

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.

Sch1nken commented 1 year ago

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.

gregtatum commented 1 year ago

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.

pracedru commented 1 year ago

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.

OrderlyUnicode commented 1 year ago

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.

Calinou commented 1 year ago

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.