godotengine / godot

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

Godot .NET projects cannot be built using CI #92267

Open DSOE1024 opened 1 month ago

DSOE1024 commented 1 month ago

Tested versions

4.2.2-stable 4.2.1-stable

System information

Ubuntu Debian

Issue description

godot --headless --verbose --export-release "Windows Desktop" ../build/windows/EXPORT_NAME.exe

The following error is displayed

ERROR: Parent node is busy setting up children, add_child() failed. Consider using add_child.call_deferred(child) instead.
at: add_child (scene/main/node.cpp:1415)
ERROR: Condition "!is_inside_tree()" is true.
at: popup_centered (scene/main/window.cpp:1658)

And it's gonna get stuck here

root@1626d711c6af:/Kaisha# ../Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64 --headless --verbose --export-release "Windows Desktop" ../build/windows/EXPORT_NAME.exe
Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Using "default" pen tablet driver...
JoypadLinux: udev enabled and loaded successfully.

TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
.NET: Initializing module...
Found hostfxr: /usr/lib/dotnet/host/fxr/8.0.5/libhostfxr.so
.NET: hostfxr initialized
.NET: GodotPlugins initialized
.NET: Failed to load project assembly
CORE API HASH: 622119089
EDITOR API HASH: 497707466
WARNING: Custom cursor shape not supported by this display server.
     at: cursor_set_custom_image (servers/display_server.cpp:505)
EditorSettings: Load OK!
WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:63)
Found .NET Sdk version '8.0.105': /usr/lib/dotnet/sdk/8.0.105
Loaded system CA certificates
EditorSettings: Save OK!

The project I tested using gdscript built smoothly, but C# projects can't be built, Is this an engine problem? https://github.com/abarichello/godot-ci/issues/140

Steps to reproduce

godot --headless --verbose --export-release "Windows Desktop" ../build/windows/EXPORT_NAME.exe

Minimal reproduction project (MRP)

None

DSOE1024 commented 1 month ago

I have tested the following images for ubuntu, debian, and Godot CI projects(https://github.com/abarichello/godot-ci ). The dotnet version uses 7

raulsntos commented 1 month ago

I've been unable to reproduce this, could you provide an MRP? Also, can you reproduce when exporting using your computer instead of CI?

The dotnet version uses 7

.NET 7 is out of support. Consider using .NET 8. But this is likely unrelated to your issue.

DSOE1024 commented 1 month ago

I've been unable to reproduce this, could you provide an MRP? Also, can you reproduce when exporting using your computer instead of CI?

The dotnet version uses 7

.NET 7 is out of support. Consider using .NET 8. But this is likely unrelated to your issue.

Yes, it is possible to export without CI (windows and ubuntu)

Aethedigm commented 2 weeks ago

Identical issue - 4.2.2 C#, I am using .NET 8, however. Only an issue attempting to export from CLI, which is a bit of an issue for trying to configure automated builds/pipelines

TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Using "default" pen tablet driver...

TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
.NET: Initializing module...
Found hostfxr: C:\Program Files\dotnet\host/fxr/8.0.6/hostfxr.dll
.NET: hostfxr initialized
.NET: GodotPlugins initialized
.NET: Failed to load project assembly
CORE API HASH: 622119089
EDITOR API HASH: 497707466
WARNING: Custom cursor shape not supported by this display server.
     at: cursor_set_custom_image (servers/display_server.cpp:505)
ERROR: Class 'EditorSettings' can only be instantiated by editor.
   at: instantiate (core/object/class_db.cpp:364)
ERROR: Could not load editor settings from path: C:/Users/krakm/AppData/Roaming/Godot/editor_settings-4.tres
   at: create (editor/editor_settings.cpp:936)
WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:63)
System.InvalidOperationException: The Godot editor API assembly is not loaded.
   at GodotPlugins.Main.LoadToolsAssembly(Char* nAssemblyPath, IntPtr unmanagedCallbacks, Int32 unmanagedCallbacksSize) in /root/godot/modules/mono/glue/GodotSharp/GodotPlugins/Main.cs:line 174
ERROR: FATAL: Condition "editor_plugin_obj == nullptr" is true.
   at: _editor_init_callback (modules/mono/csharp_script.cpp:1202)

Edit: Also worth noting, my Blend file import is NOT enabled. This warning only occurs through CLI exports.

Edit 2: Doing due diligence, this is NOT an issue in 4.3 beta 2