Skip to content

Many script errors when loading project after merged pull request #67714 #68865

@maiself

Description

@maiself

Godot version

master; 84c404f; Fri Nov 18 23:32:08 2022 +0100

System information

arch linux

Issue description

I'm getting many errors when loading my project while using a build of Godot after the merge of #67714 . There are no cyclic references in my project, no errors were present before the merge of #67714.

error log
ERROR: Attempted to assign an object into a TypedArray, that does not inherit from 'GDScript'.
   at: validate (core/variant/container_type_validate.h:123)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroCharacterVisual" from "res://extern/rpg_heros/src/HeroCharacterVisual.gd".
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:11)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroAnimationState" from "res://extern/rpg_heros/src/RPGHeroAnimationState.gd".
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:12)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:16)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:67)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:80)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroAnimationState" from "res://extern/rpg_heros/src/RPGHeroAnimationState.gd".
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:87)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:87)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:326)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:328)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroAnimationState" from "res://extern/rpg_heros/src/RPGHeroAnimationState.gd".
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:87)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:87)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:326)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://extern/rpg_heros/src/HeroCharacterVisual.gd:328)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroCharacterVisual" from "res://extern/rpg_heros/src/HeroCharacterVisual.gd".
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:11)
SCRIPT ERROR: Parse Error: Could not parse global class "RPGHeroAnimationState" from "res://extern/rpg_heros/src/RPGHeroAnimationState.gd".
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:12)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:16)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:67)
SCRIPT ERROR: Parse Error: Could not resolve class "RPGHeroAnimationState", because of a parser error.
          at: GDScript::reload (res://scenes/PlayerCharacter.gd:80)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parser bug (please report): Trying to check compatibility of unset target type
   at: is_type_compatible (modules/gdscript/gdscript_analyzer.cpp:4152)
ERROR: Parameter "p_script->implicit_initializer" is null.
   at: _super_implicit_constructor (modules/gdscript/gdscript.cpp:131)
ERROR: Error constructing a GDScriptInstance.
   at: _create_instance (modules/gdscript/gdscript.cpp:183)
SCRIPT ERROR: Invalid type in function 'new' in base 'GDScript'. Cannot convert argument 1 from Object to float.
          at: RTSCharacterInfoCache._init (res://extern/rts_characters/src/RTSCharacterInfoCache.gd:60)
ERROR: Parameter "p_script->implicit_initializer" is null.
   at: _super_implicit_constructor (modules/gdscript/gdscript.cpp:131)
ERROR: Parameter "p_script->implicit_initializer" is null.
   at: _super_implicit_constructor (modules/gdscript/gdscript.cpp:131)
SCRIPT ERROR: Invalid get index 'rockgolem' (on base: 'Dictionary').
          at: RTSCharacterInfoCache.get_character_by_name (res://extern/rts_characters/src/RTSCharacterInfoCache.gd:69)

The editor sometimes segfaults while loading.

I'm also seeing a case where a .tres file using a custom resource script is being strangely modified by copying that script inline into the .tres, but I'm not sure what actions trigger that.

Some excerpts from my project:

class_name RPGHeroAnimationState # class_name lines sometimes trigger an error "shadows global name"
extends Resource

# removing this line reduces some of the errors
const _animation_set := preload('../resources/RPGHeroActionAnimationSet.tres') # this is a resource that has its script mysteriously inlined
@tool
class_name RPGHeroCharacterVisual
extends GeometryInstance3D

class _Part:
	var parent_node: Node3D
	var mesh: MeshInstance3D

	func _init(part_info_, parent_node_: Node3D): # some errors point to lines like this, type mismatch where there is none
		parent_node = parent_node_
		part_info = part_info_

I don't have a minimal reproduction case right now. I'll see what I can do and update this issue as I have more info.

Steps to reproduce

Load project after merge of #67714, unknown what script content triggers errors

Minimal reproduction project

None yet

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions