Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot crashes while typing access to a field of exported variable in the gdscript editor #20589

Closed
perrauo opened this issue Jul 30, 2018 · 4 comments
Milestone

Comments

@perrauo
Copy link
Contributor

perrauo commented Jul 30, 2018

Godot version:
image

Issue description:
Godot crashes after when accessing field of exported variable inside instanced scene. Possibly related to #19264
image

Steps to reproduce:

  1. write
export(NodePath) onready var _tree_node = get_node(_tree_node)
  1. in func _ready() begin writing _tree_node. with . operator.
  2. Notice godot crashes from the editor
@perrauo perrauo changed the title Godot crashes after when accessing field of exported variable Godot crashes while typing access to a field of exported variable in the gdscript editor Jul 30, 2018
@perrauo
Copy link
Contributor Author

perrauo commented Jul 30, 2018

Doing this is a workaround


export(NodePath) var _root_node
export(NodePath) var _tree_node

func _ready():
	_root_node = get_node(_root_node)
	_tree_node = get_node(_tree_node) 

@T4g1
Copy link

T4g1 commented Aug 13, 2018

Some quick context from gdb (tested on a custom branch though):

#0  0x00005555591ef292 in Variant::reference (this=<error reading variable: Cannot access memory at address 0x7fffff7fed68>, p_variant=<error reading variable: Cannot access memory at address 0x7fffff7fed60>) at core/variant.cpp:905
#1  0x00005555591faa80 in Variant::operator= (this=0x7fffff801420, p_variant=...) at core/variant.cpp:2504
#2  0x000055555649ebcb in _guess_expression_type (p_context=..., p_expression=0x5555600a5b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:650
#3  0x00005555564a03fc in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:738
#4  0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#5  0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#6  0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#7  0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#8  0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#9  0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#10 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#11 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#12 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#13 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#14 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#15 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#16 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#17 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#18 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#19 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#20 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#21 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#22 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#23 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#24 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#25 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#26 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#27 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#28 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#29 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#30 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#31 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#32 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#33 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#34 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#35 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#36 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373
#37 0x00005555564a8e83 in _guess_identifier_type (p_context=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1291
#38 0x000055555649ec1c in _guess_expression_type (p_context=..., p_expression=0x5555602d0b20, r_type=...) at modules/gdscript/gdscript_editor.cpp:656
#39 0x00005555564a0b2a in _guess_expression_type (p_context=..., p_expression=0x5555602d0a40, r_type=...) at modules/gdscript/gdscript_editor.cpp:779
#40 0x00005555564aa260 in _guess_identifier_type_from_base (p_context=..., p_base=..., p_identifier=..., r_type=...) at modules/gdscript/gdscript_editor.cpp:1373

@KoBeWi
Copy link
Member

KoBeWi commented Apr 18, 2019

Any more reproduction steps? Doing what is described in OP seems to work in 3.1 stable.

@akien-mga
Copy link
Member

Assuming fixed in 3.1. Please comment if you can still reproduce it.

@akien-mga akien-mga added this to the 3.1 milestone Apr 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants