Exporting a typed array causes a crash
Godot version
v4.0.beta6.official.7f8ecffa5
System information
Windows 10 x64
Issue description
When trying to export (via the new annotations @export) a typed array : Array[Type], whole Godot editor crashes leaving no trace behind.
I am using VsCode for editing, but it shouldn't matter than much (I think).
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Text-to-Speech: SAPI initialized.
Using "winink" pen tablet driver...
OpenGL Renderer: AMD Radeon RX 6900 XT
WASAPI: Activated device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 480
WASAPI: min_period_frames = 480
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
CORE API HASH: 3730061170
EDITOR API HASH: 4162519889
EditorSettings: Load OK!
Loaded builtin certs
EditorSettings: Save OK!
Editing project: XXX
Godot Engine v4.0.beta6.official.7f8ecffa5 - https://godotengine.org
EditorSettings: Save OK!
TextServer: Added interface "Dummy"
XR: Clearing primary interface
TXeRx:t SReermvoevre:d Aidndteedr fiancteeNraftaicvee "mIoCbUi l/e
HaXrRf:B uRzezm o/v eGdr aipnhtietref a(cBeuOipletn-XiRn
)"
Text-to-Speech: SAPI initialized.
Orphan StringName: SceneMultiplayer
StringName: 1 unclaimed string names at exit.
Vulkan devices:
#0: AMD AMD Radeon RX 6900 XT - Supported, Discrete
Vulkan API 1.2.0 - Using Vulkan Device #0: AMD - AMD Radeon RX 6900 XT
- Vulkan Variable Rate Shading supported:
Pipeline fragment shading rate
Primitive fragment shading rate
Attachment fragment shading rate, min texel size: (8, 8), max texel size: (8, 8)
- Vulkan multiview supported:
max view count: 6
max instances: 4294967295
- Vulkan subgroup:
size: 64
stages: STAGE_VERTEX, STAGE_TESSELLATION_CONTROL, STAGE_TESSELLATION_EVALUATION, STAGE_GEOMETRY, STAGE_FRAGMENT, STAGE_COMPUTE, STAGE_RAYGEN_KHR, STAGE_CLOSEST_HIT_KHR, STAGE_MISS_KHR, STAGE_INTERSECTION_KHR, STAGE_CALLABLE_KHR
supported ops: FEATURE_BASIC, FEATURE_VOTE, FEATURE_ARITHMETIC, FEATURE_BALLOT, FEATURE_SHUFFLE, FEATURE_SHUFFLE_RELATIVE, FEATURE_CLUSTERED, FEATURE_QUAD
quad operations in all stages
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using "winink" pen tablet driver...
Creating VMA small objects pool for memory type index 0
Shader 'CanvasSdfShaderRD' SHA256: 19a69462d6452150e65eb27605444133dd1407886805ab58ce7b31624adef541
Shader 'SkeletonShaderRD' SHA256: 768c31d2b19615dc9bf4f94912378cca58a33b021406f6f3876f6c01b049bf3c
Shader 'ParticlesShaderRD' SHA256: 1b3683c9a6f33e09b5e70335b523f4137a686432b4e78099e396aebbf3aee04f
Shader 'ParticlesCopyShaderRD' SHA256: 0b1cd2b459318771480a8520660bc22bce30298cdab2c27abb5557e2c09d3bd3
Shader 'CanvasShaderRD' SHA256: c2f47dd8e6f5aa7e80ba3ce87f747e281d24a3631d05fa31d98671ca31e4eade
Shader 'CanvasOcclusionShaderRD' SHA256: ebe2518bc0839c940f592d5833fd2bcc16d46d5f7a2470217a116206b9c36153
Shader 'ClusterRenderShaderRD' SHA256: eda20c67a86f29a75a2dd3483fc62b1f7f6dded5a968a8e84bc388ed372fce29
Shader 'ClusterStoreShaderRD' SHA256: 0f7bbb747ca2a230a55d5924ef9782167956de2c221eb0aae7cc90ffe434ceef
Shader 'ClusterDebugShaderRD' SHA256: 6bf7c7c0e07c793a5a5c8addb4907edba189da09fd3b37c63a96409d466b0882
Shader 'SceneForwardClusteredShaderRD' SHA256: f5829d322c1db5ca094345c36358b1cf549855fabff2b1a17fe4b6fa1fb90f8a
Shader 'ResolveShaderRD' SHA256: 0b94474ab995207ec166bb3234c211d1666d08b6be44c039423fbac2e3a05300
Shader 'TaaResolveShaderRD' SHA256: 86b350674564954d45f098bb789dd668c66ada5e5a77d6001f0092ed5a9e6588
Shader 'SsEffectsDownsampleShaderRD' SHA256: ce258ada1fb675ab3ba7a930301c9994cca9c5154aa89d812f013f0d5570e21f
Shader 'SsilShaderRD' SHA256: e28e27e12e443384c43b1e4d8a610f56dec01ae44cbf27f4a52ada0d100b3fdf
Shader 'SsilImportanceMapShaderRD' SHA256: acd2fe05a270da9a8a1f32955ebea586c45fd0ed3c5c3ee1f26062c183e73b4d
Shader 'SsilBlurShaderRD' SHA256: 1cabde127a3b7895c4988471080efb8961c68cce669646e6cce844c39ba99019
Shader 'SsilInterleaveShaderRD' SHA256: d3fb7c20aab9a5a0de4b4a52b3db605d9f5e3ccb64d6b8355d6fef029170477f
Shader 'SsaoShaderRD' SHA256: 96eb4f8a67ad63160978d5df16bf5b5e8852a49843eaca8872b2cd22d73c3524
Shader 'SsaoImportanceMapShaderRD' SHA256: 0f301aa228ca3117f45c4032ca85ee6b0cd591d78233ae5e3847e65f8fe60617
Shader 'SsaoBlurShaderRD' SHA256: bc91bcc19cce071fe2eed203d2d2e7eaf6f1e85d4d75d8a244bf5fde3a8cbf30
Shader 'SsaoInterleaveShaderRD' SHA256: d247b12421ffc4d8b512f78804bba50325aef3c70fffa435797cc5d6609f9a5d
Shader 'ScreenSpaceReflectionScaleShaderRD' SHA256: 44eeabcc79d35d0e67596db92f6299a1d450bc1be6f33b40d951d4dae63a9471
Shader 'ScreenSpaceReflectionShaderRD' SHA256: 40be30b2c95bfc23584662afee93bc4f3bae344d1a17429e73155ef0db8e4e00
Shader 'ScreenSpaceReflectionFilterShaderRD' SHA256: 1f525da4a9fe39a1dde683548f5723f1aad4cee8cdf3d91cb3c24963894800d0
Shader 'SubsurfaceScatteringShaderRD' SHA256: 3a8e479fd3d584a498e9fc0a155431ca588b71d18045b8cfae668cc493f3397b
Shader 'SkyShaderRD' SHA256: af952c940cada32743c588799cdf83524aca6c4b7a274510f2bb630a94268baa
Shader 'VoxelGiShaderRD' SHA256: f138e6c07ffd9129e284db4d427799e9fd141b3160b2501798a6b8ee06d7ad9b
Shader 'VoxelGiDebugShaderRD' SHA256: b2f295ae6325eada942ffaad8cec855ce560c317fafdec27640067c095058fef
Shader 'SdfgiPreprocessShaderRD' SHA256: c6162134a2f6c7aeb5470d78d265587d96e97c60d45fbe19e7af3e8429aa0ac3
Shader 'SdfgiDirectLightShaderRD' SHA256: 3a0eeb0a4ea7b6b5c29a41b18a54ac122f35cb55ca29987bb5439fe49ffb4d79
Shader 'SdfgiIntegrateShaderRD' SHA256: 2a0c83238510f228fb3e24c8fed893bd8e47dbbf045b3841d25582a437e568b0
Shader 'GiShaderRD' SHA256: 4f6f7f617e7952b7d4d3090f6a5b5c0167dc4e21b5fe719aa153b877dd3a24a3
Shader 'SdfgiDebugShaderRD' SHA256: 85c7c7248874236860949c62c9df12acd3fc93f0d4d10f2d12eb855ac50058ff
Shader 'SdfgiDebugProbesShaderRD' SHA256: 002a231c305fcd0ce4441040468be2ae841c30b3b6cf56c16e73b2e7db7c9ae3
Shader 'VolumetricFogShaderRD' SHA256: 6ae547ed081a8b038f7740f77821121c0a908c271b00ec22e3f60a95bedebc59
Shader 'VolumetricFogProcessShaderRD' SHA256: ac5cfc9f8ffeca19dd8fe815fbd252d110d91c592aaeeeb49f2d1a9ba6a9d564
Shader 'BokehDofShaderRD' SHA256: e74ea4341bf6f4b9d9b7258bb7c9c1cd923c6b26e1158a2ae49e8518cc1879ec
Shader 'CopyShaderRD' SHA256: 22196d46ae56a3c11fa5690cab9b80894c86ff4fedfea5303559c944f69f04af
Shader 'CopyToFbShaderRD' SHA256: 55a552fb6416ce8ac415e52b6f1d86956bb2ced65999042718c9c5204ea71d38
Shader 'CubeToDpShaderRD' SHA256: 6028cbe43f41c62469d4e68f537721fb4ab98b456be1a814d17dc962f886f116
Shader 'CubemapDownsamplerShaderRD' SHA256: 5ba13522c82589ad1ece04fb572fe76bac55a4450c169211bce17e7cfee08982
Shader 'CubemapFilterShaderRD' SHA256: 2e27de65ad3c4f724c398e330bc6c3988959fc9c48db1b8ccc1e6421b334ef27
Shader 'CubemapRoughnessShaderRD' SHA256: 84eec62e1a3f06c80c902fdd05a9d36b892c28e2f5bef00fbaa1be78b1f0111d
Shader 'SpecularMergeShaderRD' SHA256: bc7d4a8c866b2befd8692a361f142c4e9a675666a8d7e64dffe902956e6b335e
Shader 'TonemapShaderRD' SHA256: 191758f677022eea6f8cd45e06a830118ba26f3505f1d2052c13fd9e215c4133
Shader 'VrsShaderRD' SHA256: 6877b416aa6c8e7f7ac9a4e1f540ca2c510829b713fcb6a1e0e615903e416f23
Shader 'FsrUpscaleShaderRD' SHA256: 9d60ead0f2e9aff6bfdbf43a5ffb9cb6a1f491f8153e09bb907635efd7a96deb
Shader 'LuminanceReduceShaderRD' SHA256: 0b0019d985c3a95d453cdac0b842d7fe355499d6bb87b3076f24bf3d77fd47c1
Shader 'RoughnessLimiterShaderRD' SHA256: 9076a773a2e5cd6767234a6888966c34457da4805dc33948b0dff729b56c39ae
Shader 'SortShaderRD' SHA256: c55e368ac605a7ef874f9210a2134706348b55750b1e7547c545b091448e6970
Shader 'BlitShaderRD' SHA256: d8d52156a473164c62107b2d465112d9ad94490c6d0a5a4625333e55d512bebd
WASAPI: Activated device using IAudioClient3 interface
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: mix_rate = 48000
WASAPI: fundamental_period_frames = 480
WASAPI: min_period_frames = 480
WASAPI: max_period_frames = 480
WASAPI: selected a period frame size of 480
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 480 calculated latency: 10ms
Using present mode: VK_PRESENT_MODE_FIFO_KHR
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
CORE API HASH: 3730061170
EDITOR API HASH: 4162519889
Class 'EditorPropertyNameProcessor' is not exposed, skipping.
Class 'FramebufferCacheRD' is not exposed, skipping.
Class 'GDScriptEditorTranslationParserPlugin' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'GodotPhysicsDirectSpaceState2D' is not exposed, skipping.
Class 'GodotPhysicsDirectSpaceState3D' is not exposed, skipping.
Class 'GodotPhysicsServer2D' is not exposed, skipping.
Class 'GodotPhysicsServer3D' is not exposed, skipping.
Class 'IPUnix' is not exposed, skipping.
Class 'MovieWriterMJPEG' is not exposed, skipping.
Class 'MovieWriterPNGWAV' is not exposed, skipping.
Class 'ResourceImporterMP3' is not exposed, skipping.
Class 'ResourceImporterOggVorbis' is not exposed, skipping.
Class 'SceneCacheInterface' is not exposed, skipping.
Class 'SceneRPCInterface' is not exposed, skipping.
Class 'SceneReplicationInterface' is not exposed, skipping.
Class 'UniformSetCacheRD' is not exposed, skipping.
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:75)
WARNING: FBX file import is enabled in the project settings, but no FBX2glTF path is configured in the editor settings. FBX files will not be imported.
at: _editor_init (modules/gltf/register_types.cpp:99)
Loaded builtin certs
Creating VMA small objects pool for memory type index 3
EditorSettings: Save OK!
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Using present mode: VK_PRESENT_MODE_FIFO_KHR
Steps to reproduce
- Download the minimal reproduction project
- Go to
unit.gd - Uncomment the first export statement and save the file
- Observe how the Godot crashes quickly
Trying to reopen such project leads to exactly the same effect.
Minimal reproduction project
Make sure you have a connection between VsCode and the Godot, because without it, Godot will not try to parse the file.
modules/gdscript/gdscript_parser.cpp:3784:40: runtime error: member access within null pointer of type 'struct IdentifierNode'
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.beta.custom_build (7f8ecffa56834dce3ccbd736738b613d51133dea)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] godot4s() [0x26cb01c] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/crash_handler_linuxbsd.cpp:56)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fbbb5a25520] (??:0)
[3] StringName::operator String() const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/string/string_name.h:137)
[4] bool GDScriptParser::export_annotations<(PropertyHint)0, (Variant::Type)0>(GDScriptParser::AnnotationNode const*, GDScriptParser::Node*) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_parser.cpp:3784 (discriminator 1))
[5] GDScriptParser::AnnotationNode::apply(GDScriptParser*, GDScriptParser::Node*) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_parser.cpp:3599 (discriminator 4))
[6] GDScriptAnalyzer::resolve_class_interface(GDScriptParser::ClassNode*) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:712)
[7] GDScriptAnalyzer::resolve_program() (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:4342)
[8] GDScriptAnalyzer::analyze() (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:4359)
[9] GDScriptLanguage::lookup_code(String const&, String const&, String const&, Object*, ScriptLanguage::LookupResult&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_editor.cpp:3289)
[10] ScriptTextEditor::_validate_symbol(String const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/editor/plugins/script_text_editor.cpp:947 (discriminator 16))
[11] void call_with_variant_args_helper<ScriptTextEditor, String const&, 0ul>(ScriptTextEditor*, void (ScriptTextEditor::*)(String const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:262 (discriminator 6))
[12] void call_with_variant_args<ScriptTextEditor, String const&>(ScriptTextEditor*, void (ScriptTextEditor::*)(String const&), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:362)
[13] CallableCustomMethodPointer<ScriptTextEditor, String const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:105)
[14] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:64)
[15] Object::emit_signalp(StringName const&, Variant const**, int) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/object/object.cpp:1047)
[16] Error Object::emit_signal<String>(StringName const&, String) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/object.h:865)
[17] CodeEdit::gui_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/code_edit.cpp:426 (discriminator 5))
[18] Control::_call_gui_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/control.cpp:1710)
[19] Viewport::_gui_input_event(Ref<InputEvent>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/viewport.cpp:1990)
[20] Viewport::push_input(Ref<InputEvent> const&, bool) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/viewport.cpp:2782 (discriminator 3))
[21] Window::_window_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/window.cpp:1090 (discriminator 2))
[22] void call_with_variant_args_helper<Window, Ref<InputEvent> const&, 0ul>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:262 (discriminator 6))
[23] void call_with_variant_args<Window, Ref<InputEvent> const&>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:362)
[24] CallableCustomMethodPointer<Window, Ref<InputEvent> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:105)
[25] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:64)
[26] DisplayServerX11::_dispatch_input_event(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:3248)
[27] DisplayServerX11::_dispatch_input_events(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:3218 (discriminator 4))
[28] Input::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/input/input.cpp:665)
[29] Input::flush_buffered_events() (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/input/input.cpp:886)
[30] DisplayServerX11::process_events() (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:4245)
[31] OS_LinuxBSD::run() (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/os_linuxbsd.cpp:797)
[32] godot4s(main+0x58f) [0x26c8205] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/godot_linuxbsd.cpp:75)
[33] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fbbb5a0cd90] (??:0)
[34] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fbbb5a0ce40] (??:0)
[35] godot4s(_start+0x25) [0x26c7bb5] (??:?)
-- END OF BACKTRACE --
================================================================
I already built a Linux version and (no surprise) seeing the same issue. Will try to send merge request soon.
On Sun, 27 Nov 2022 at 15:38, Rafał Mikrut @.***> wrote:
modules/gdscript/gdscript_parser.cpp:3784:40: runtime error: member access within null pointer of type 'struct IdentifierNode'
================================================================ handle_crash: Program crashed with signal 11 Engine version: Godot Engine v4.0.beta.custom_build (7f8ecffa56834dce3ccbd736738b613d51133dea) Dumping the backtrace. Please include this when reporting the bug to the project developer. [1] godot4s() [0x26cb01c] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/crash_handler_linuxbsd.cpp:56) [2] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fbbb5a25520] (??:0) [3] StringName::operator String() const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/string/string_name.h:137) [4] bool GDScriptParser::export_annotations<(PropertyHint)0, (Variant::Type)0>(GDScriptParser::AnnotationNode const*, GDScriptParser::Node*) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_parser.cpp:3784 (discriminator 1)) [5] GDScriptParser::AnnotationNode::apply(GDScriptParser*, GDScriptParser::Node*) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_parser.cpp:3599 (discriminator 4)) [6] GDScriptAnalyzer::resolve_class_interface(GDScriptParser::ClassNode*) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:712) [7] GDScriptAnalyzer::resolve_program() (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:4342) [8] GDScriptAnalyzer::analyze() (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_analyzer.cpp:4359) [9] GDScriptLanguage::lookup_code(String const&, String const&, String const&, Object*, ScriptLanguage::LookupResult&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/modules/gdscript/gdscript_editor.cpp:3289) [10] ScriptTextEditor::_validate_symbol(String const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/editor/plugins/script_text_editor.cpp:947 (discriminator 16)) [11] void call_with_variant_args_helper<ScriptTextEditor, String const&, 0ul>(ScriptTextEditor*, void (ScriptTextEditor::)(String const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:262 (discriminator 6)) [12] void call_with_variant_args<ScriptTextEditor, String const&>(ScriptTextEditor, void (ScriptTextEditor::)(String const&), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:362) [13] CallableCustomMethodPointer<ScriptTextEditor, String const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:105) [14] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:64) [15] Object::emit_signalp(StringName const&, Variant const**, int) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/object/object.cpp:1047) [16] Error Object::emit_signal<String>(StringName const&, String) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/object.h:865) [17] CodeEdit::gui_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/code_edit.cpp:426 (discriminator 5)) [18] Control::_call_gui_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/control.cpp:1710) [19] Viewport::_gui_input_event(Ref<InputEvent>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/viewport.cpp:1990) [20] Viewport::push_input(Ref<InputEvent> const&, bool) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/viewport.cpp:2782 (discriminator 3)) [21] Window::_window_input(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/window.cpp:1090 (discriminator 2)) [22] void call_with_variant_args_helper<Window, Ref<InputEvent> const&, 0ul>(Window, void (Window::)(Ref<InputEvent> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:262 (discriminator 6)) [23] void call_with_variant_args<Window, Ref<InputEvent> const&>(Window, void (Window::*)(Ref<InputEvent> const&), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:362) [24] CallableCustomMethodPointer<Window, Ref<InputEvent> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:105) [25] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:64) [26] DisplayServerX11::_dispatch_input_event(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:3248) [27] DisplayServerX11::_dispatch_input_events(Ref<InputEvent> const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:3218 (discriminator 4)) [28] Input::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/input/input.cpp:665) [29] Input::flush_buffered_events() (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/input/input.cpp:886) [30] DisplayServerX11::process_events() (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/x11/display_server_x11.cpp:4245) [31] OS_LinuxBSD::run() (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/os_linuxbsd.cpp:797) [32] godot4s(main+0x58f) [0x26c8205] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/godot_linuxbsd.cpp:75) [33] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fbbb5a0cd90] (??:0) [34] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fbbb5a0ce40] (??:0) [35] godot4s(_start+0x25) [0x26c7bb5] (??:?) -- END OF BACKTRACE --
— Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/69236#issuecomment-1328260376, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADNME2BP2RWCUYTSWTOKNNDWKNW5JANCNFSM6AAAAAASMGTXIU . You are receiving this because you authored the thread.Message ID: @.***>
#69269
My initial fix for the issue. Would be glad for any hints on where to look next, as I guess the root of the issue might be at the place where we unwrap the preload() into a constant. Good thing is that set_container_element_type() must have been called as we detect an array, but the underlying DataType is missing the expected initializer.
Looking more through the code I noticed that we almost always conditionally check for the class->identifier before even reading it, so it's truly an optional field. Also, it seems that the identifier is used for the following cases:
class_name/ global scriptclass(nested definition)- native class
- autoload singleton
preload() just introduces a constant which has a meta class.
And I got once again a different kind of error but in the same ballpark:
E 0:00:00:0186 @implicit_new: Script class can only be set together with base class name
<C++ Error> Condition "script.is_valid() && p_class_name == StringName()" is true.
<C++ Source> core/variant/array.cpp:726 @ set_typed()
<Stack Trace> battleground.gd:13 @ @implicit_new()
This is due to:
const X = preload(...)
var xxx = Array[X]
Am I missing something? Is the strong typing only allowed for named classes, forcing us to pollute the global namespace with all types?
Is this fixed by #69269?
Should be.
On Wed, 30 Nov 2022 at 10:54, Rémi Verschelde @.***> wrote:
Is this fixed by #69269 https://github.com/godotengine/godot/pull/69269?
— Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/69236#issuecomment-1331896974, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADNME2DGVCIW3O4374OS3L3WK4P4XANCNFSM6AAAAAASMGTXIU . You are receiving this because you authored the thread.Message ID: @.***>
Fixed by #69269.