godotengine / godotengine/godot-dotnet

Editor crashes when trying to add a new extension class

Open
#41 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
228
Forks
30
PR merge metrics
No merged PRs in 30d

Description

### Godot version

4.6.dev (1a79957f6b2fb0df13e8a8ca342a8eba8d6cf7bc) from https://github.com/raulsntos/godot/tree/new-dotnet-module-plus-source-code-plugin-wip

### Godot .NET packages version

4.6.0-dev (167e71bf253de4bec29e3df0b513d39356f4a642) from https://github.com/raulsntos/godot/tree/new-dotnet-module-plus-source-code-plugin-wip

### System information

Fedora 42

### .NET information

dotnet 9.0.9 from Fedora 42, SDKs 8.0.120 and 9.0.110

### Issue description

I managed to use it yesterday (with other errors and occasional crashes), but after latest updates to the `new-dotnet-module-plus-source-code-plugin-wip` Godot branch (I assume), it's now systematically crashing when I try to create a new project and add a new extension class to make it a C# project.

```
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.6.dev.dotnet.custom_build (1a79957f6b2fb0df13e8a8ca342a8eba8d6cf7bc)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
[1] /usr/lib64/dotnet/shared/Microsoft.NETCore.App/9.0.9/libcoreclr.so(+0x66f770) [0x7f56a5c6f770] (??:0)
[2] /usr/lib64/dotnet/shared/Microsoft.NETCore.App/9.0.9/libcoreclr.so(+0x66ecb5) [0x7f56a5c6ecb5] (??:0)
[3] /lib64/libc.so.6(+0x1a070) [0x7f57519b0070] (??:0)
[4] /home/akien/Godot/godot/bin/godot.linuxbsd.editor.dev.x86_64.dotnet(ubidi_close_77_godot+0x1b) [0xd735fbe] (/home/akien/Godot/godot/thirdparty/icu4c/common/ubidi.cpp:240)
[5] TextServerAdvanced::invalidate(TextServerAdvanced::ShapedTextDataAdvanced*, bool) (/home/akien/Godot/godot/modules/text_server_adv/text_server_adv.cpp:4418 (discriminator 4))
[6] TextServerAdvanced::_shaped_set_span_update_font(RID const&, long, TypedArray const&, long, Dictionary const&) (/home/akien/Godot/godot/modules/text_server_adv/text_server_adv.cpp:4919)
[7] TextServerAdvanced::shaped_set_span_update_font(RID const&, long, TypedArray const&, long, Dictionary const&) (/home/akien/Godot/godot/modules/text_server_adv/text_server_adv.h:1004)
[8] Label::_shape() const (/home/akien/Godot/godot/scene/gui/label.cpp:192 (discriminator 8))
[9] Label::_ensure_shaped() const (/home/akien/Godot/godot/scene/gui/label.cpp:421)
[10] Label::get_minimum_size() const (/home/akien/Godot/godot/scene/gui/label.cpp:976)
[11] Control::_update_minimum_size_cache() const (/home/akien/Godot/godot/scene/gui/control.cpp:1737)
[12] Control::get_combined_minimum_size() const (/home/akien/Godot/godot/scene/gui/control.cpp:1749)
[13] Control::_size_changed() (/home/akien/Godot/godot/scene/gui/control.cpp:1765)
[14] Control::_notification(int) (/home/akien/Godot/godot/scene/gui/control.cpp:3949)
[15] Control::_notification_forwardv(int) (/home/akien/Godot/godot/scene/gui/control.h:45)
[16] Label::_notification_forwardv(int) (/home/akien/Godot/godot/scene/gui/label.h:37 (discriminator 1))
[17] Object::_notification_forward(int) (/home/akien/Godot/godot/core/object/object.cpp:995)
[18] Object::notification(int, bool) (/home/akien/Godot/godot/core/object/object.h:937)
[19] Control::_notify_theme_override_changed() (/home/akien/Godot/godot/scene/gui/control.cpp:2925)
[20] Control::remove_theme_color_override(StringName const&) (/home/akien/Godot/godot/scene/gui/control.cpp:3425)
[21] EditorValidationPanel::set_message(int, String const&, EditorValidationPanel::MessageType, bool) (/home/akien/Godot/godot/editor/gui/editor_validation_panel.cpp:124)
[22] ExtensionClassCreateDialog::_update_template_label(String const&, String const&) (/home/akien/Godot/godot/editor/extension/extension_class_create_dialog.cpp:670)
[23] ExtensionClassCreateDialog::_template_changed(int) (/home/akien/Godot/godot/editor/extension/extension_class_create_dialog.cpp:147 (discriminator 3))
[24] ExtensionClassCreateDialog::_update_template_menu() (/home/akien/Godot/godot/editor/extension/extension_class_create_dialog.cpp:660)
[25] ExtensionClassCreateDialog::_inherited_class_name_changed(String const&) (/home/akien/Godot/godot/editor/extension/extension_class_create_dialog.cpp:127)
[26] ExtensionClassCreateDialog::config(String const&, String const&) (/home/akien/Godot/godot/editor/extension/extension_class_create_dialog.cpp:880 (discriminator 2))
[27] FileSystemDock::_file_option(int, Vector const&) (/home/akien/Godot/godot/editor/docks/filesystem_dock.cpp:2587 (discriminator 2))
[28] FileSystemDock::_tree_rmb_option(int) (/home/akien/Godot/godot/editor/docks/filesystem_dock.cpp:2148)
```

### Steps to reproduce

- Create empty Godot project
- Add a Node2D scene, save it
- Right click in FS and select "Add an extension class" -> crash

### Minimal reproduction project

n/a

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.