Skip to content

.NET 6 - Running exported PCK fails to load scripts or fails to load hostfxr #72159

@AlmightyLaxz

Description

@AlmightyLaxz

Godot version

v4.0.beta.mono.custom_build [d1e5903] (With precision=double)

System information

Arch Linux, Vulkan

Issue description

After exporting a project as a PCK or ZIP file and trying to run it, I get errors. The error produced seems to vary depending on the engine build target (editor & template_debug tested).

With an editor build, the exported reproduction project runs but the test C# class 'could not be found'.
scons precision=double p=linuxbsd tools=yes module_mono_enabled=yes debug_symbols=yes target=editor vulkan=yes -j 14

./godot.linuxbsd.editor.double.x86_64.mono --main-pack /gd4_export_pck_test/export/test.pck

Godot Engine v4.0.beta.mono.custom_build.d1e5903c6 - https://godotengine.org
Vulkan API 1.3.224 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 2080 SUPER
 
ERROR: Cannot instance script because the associated class could not be found. Script: 'res://tester.cs'. Make sure the script exists and contains a class definition with a name that matches the filename of the script exactly (it's case-sensitive).
   at: can_instantiate (modules/mono/csharp_script.cpp:2300)

With a template_debug build, the exported reproduction project fails to load hostfxr:
scons precision=double p=linuxbsd module_mono_enabled=yes target=template_debug -j 14

./godot.linuxbsd.template_debug.double.x86_64.mono --main-pack /gd4_export_pck_test/export/test.pck

Godot Engine v4.0.beta.mono.custom_build.d1e5903c6 - https://godotengine.org
Vulkan API 1.3.224 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 2080 SUPER
 
ERROR: .NET: Failed to load hostfxr
   at: initialize (modules/mono/mono_gd/gd_mono.cpp:394)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.beta.mono.custom_build (d1e5903c67956707948b1de370b807e3aad395b7)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x38a00) [0x7fe5506c7a00] (??:0)
-- END OF BACKTRACE --
================================================================
[1]    60688 IOT instruction (core dumped)  ./godot.linuxbsd.template_debug.double.x86_64.mono --main-pack 

Exporting projects as an executable with the template_debug build is working, the problem appears to be specific to PCK & ZIP export.

Steps to reproduce

  1. Open the reproduction project
  2. Open Project>Export and export the project as a PCK or ZIP file (may need to add a new export preset for your platform).
  3. Run an editor or template build with the --main-pack argument as the exported PCK/ZIP file.
    ./godot.linuxbsd.template_debug.double.x86_64.mono --main-pack /gd4_export_pck_test/export/test.pck

Minimal reproduction project

gd4_export_pck_test.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    To Assess

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions