Godot: tree_exited signal callbacks are run in the editor even when the script is not "tool", can cause editor crash

Created on 16 Mar 2019  路  17Comments  路  Source: godotengine/godot

Godot version: 3.1-stable_X11.64

OS/device including version: Solus 3.9999 Gnome Nvidia GTX 1050TI

Issue description:

Randomly when I switch between scenes Godot crashes, the only thing on the terminal when this happens is:

ERROR: _load: Condition ' !f ' is true. returned: ERR_CANT_OPEN
   At: scene/resources/dynamic_font.cpp:149.
ERROR: _get_modified_time: Failed to get modified time for: 
   At: drivers/unix/file_access_unix.cpp:292.
ERROR: _load: No loader found for resource: res://
   At: core/io/resource_loader.cpp:285.
malloc(): smallbin double linked list corrupted

I am using GLES2

Minimal reproduction project:

It's not minimal but can give enough context
mooncheeser source.zip

bug core editor

All 17 comments

Well I just got it again, and now I have more details. Before the crash the scene I was about to switch looked like this (print below)
image

The terminal dumped this:

OpenGL ES 3.0 Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
Editing project: /home/henrique/Documents/projects/001 - Moon Cheeser/repo/source (::home::henrique::Documents::projects::001 - Moon Cheeser::repo::source)
OpenGL ES 2.0 Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
henrique@pigdev ~ $ ERROR: _load: Condition ' !f ' is true. returned: ERR_CANT_OPEN
   At: scene/resources/dynamic_font.cpp:149.
ERROR: _get_modified_time: Failed to get modified time for: 
   At: drivers/unix/file_access_unix.cpp:292.
ERROR: _load: No loader found for resource: res://
   At: core/io/resource_loader.cpp:285.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/haswell/libc.so.6(+0x40560) [0x7ff318850560] (??:0)
[2] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x213bb83] (??:?)
[3] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x2149e3a] (??:?)
[4] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x1c925d8] (<artificial>:?)
[5] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x1c93c76] (??:?)
[6] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x10225f9] (??:?)
[7] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xae689d] (??:?)
[8] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x2174733] (??:?)
[9] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x24400dd] (<artificial>:?)
[10] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x24753e0] (??:?)
[11] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x24754e0] (??:?)
[12] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xfa47dc] (??:?)
[13] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xae689d] (??:?)
[14] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x2174733] (??:?)
[15] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x21e4e02] (??:?)
[16] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x21e5e40] (??:?)
[17] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x182eb91] (??:?)
[18] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x182f5d5] (<artificial>:?)
[19] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x9ef656] (??:?)
[20] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x2174ad5] (??:?)
[21] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x212f911] (??:?)
[22] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16b4648] (<artificial>:?)
[23] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16d9c36] (<artificial>:?)
[24] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16dcc84] (??:?)
[25] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16dcdee] (<artificial>:?)
[26] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x9ef656] (??:?)
[27] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x2174733] (??:?)
[28] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x212f995] (??:?)
[29] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16541c3] (??:?)
[30] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x16b3957] (??:?)
[31] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xa7a851] (??:?)
[32] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xa77d4d] (<artificial>:?)
[33] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0xb39c9b] (<artificial>:?)
[34] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x7b28dc] (??:?)
[35] /usr/lib/haswell/libc.so.6(__libc_start_main+0xeb) [0x7ff318833bdb] (??:0)
[36] /home/henrique/Desktop/Godot_v3.1-stable_x11.64() [0x7bfc4e] (??:?)
-- END OF BACKTRACE --

I think I can reproduce it consistently now:

  1. Open a scene
  2. Switch to another scene
  3. See the previous scene being corrupted
  4. Try to switch to it
  5. Crash

ezgif com-video-to-gif

It also happens if I try to close any scene. So if there is a "corrupted scene", even if I close it, or if I try to close a "healthy scene", Godot crashes

Cannot confirm on Arch Linux, Godot 3.1 stable 64 bit. lscpu reports Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz.

Might be nice to have a trace from rr.

Cannot confirm the above on Ubuntu 18.04 too, but I've got this crash after trying to close some as modified marked scene by selecting "Don't Save" in the "Please Confirm" dialogue. It doesn't seems to be reproducible :-/

Terminal dump:

godot3 -h
Godot Engine v3.2.dev.custom_build.06ebf4c - https://godotengine.org

godot3 -e
OpenGL ES 2.0 Renderer: AMD Radeon HD 7700 Series (CAPE VERDE, DRM 3.23.0, 4.15.0-46-generic, LLVM 7.0.0)
ERROR: _load: Condition ' !f ' is true. returned: ERR_CANT_OPEN
   At: scene/resources/dynamic_font.cpp:149.
SCRIPT ERROR: GDScript::reload: Parse Error: Identifier 'acheesements' is not declared in the current scope.
   At: res://actors/Astromouse/star_mouse.gd:33.
ERROR: reload: Method/Function Failed, returning: ERR_PARSE_ERROR
   At: modules/gdscript/gdscript.cpp:580.
SCRIPT ERROR: GDScript::reload: Parse Error: Identifier 'acheesements' is not declared in the current scope.
   At: res://interface/helper.gd:28.
ERROR: reload: Method/Function Failed, returning: ERR_PARSE_ERROR
   At: modules/gdscript/gdscript.cpp:580.
ERROR: load_source_code: Condition ' err ' is true. returned: err
   At: modules/gdscript/gdscript.cpp:813.
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: modules/gdscript/gdscript.cpp:2172.
ERROR: _load: Failed loading resource: res://actors/abstract_gravity_body.gd
   At: core/io/resource_loader.cpp:285.
SCRIPT ERROR: GDScript::reload: Parse Error: Could not load base class: res://actors/abstract_gravity_body.gd
   At: res://objects/Blackhole/blackhole.gd:2.
ERROR: reload: Method/Function Failed, returning: ERR_PARSE_ERROR
   At: modules/gdscript/gdscript.cpp:580.
SCRIPT ERROR: GDScript::reload: Parse Error: Identifier 'skins' is not declared in the current scope.
   At: res://screens/achievements_screen/skins_handler.gd:6.
ERROR: reload: Method/Function Failed, returning: ERR_PARSE_ERROR
   At: modules/gdscript/gdscript.cpp:580.
ERROR: load_source_code: Condition ' err ' is true. returned: err
   At: modules/gdscript/gdscript.cpp:813.
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: modules/gdscript/gdscript.cpp:2172.
ERROR: _load: Failed loading resource: res://screens/abstract_screen.gd
   At: core/io/resource_loader.cpp:285.
SCRIPT ERROR: GDScript::reload: Parse Error: Could not load base class: res://screens/abstract_screen.gd
   At: res://screens/title_screen/title_screen.gd:1.
ERROR: reload: Method/Function Failed, returning: ERR_PARSE_ERROR
   At: modules/gdscript/gdscript.cpp:580.


Running: bin/godot.x11.opt.tools.64 --path /issues-prs/i27125-scene-switch/test-project --remote-debug 127.0.0.1:6007 --allow_focus_steal_pid 15178 --position 200,165
OpenGL ES 2.0 Renderer: AMD Radeon HD 7700 Series (CAPE VERDE, DRM 3.23.0, 4.15.0-46-generic, LLVM 7.0.0)
WARNING: _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'.
   At: scene/main/scene_tree.cpp:1241.
ERROR: _load: Condition ' !f ' is true. returned: ERR_CANT_OPEN
   At: scene/resources/dynamic_font.cpp:149.
ERROR: get_node: Node not found: ../Level/RightCometSpawner:position
   At: scene/main/node.cpp:1382.
ERROR: _ensure_node_caches: On Animation: 'slide', couldn't resolve track:  '../Level/RightCometSpawner:position'
   At: scene/animation/animation_player.cpp:243.
ERROR: get_node: Node not found: ../Level/LeftStarSpawner:position
   At: scene/main/node.cpp:1382.
ERROR: _ensure_node_caches: On Animation: 'slide', couldn't resolve track:  '../Level/LeftStarSpawner:position'
   At: scene/animation/animation_player.cpp:243.
ERROR: get_node: Node not found: ../Level/LeftCometSpawner:position
   At: scene/main/node.cpp:1382.
ERROR: _ensure_node_caches: On Animation: 'slide', couldn't resolve track:  '../Level/LeftCometSpawner:position'
   At: scene/animation/animation_player.cpp:243.
ERROR: get_node: Node not found: ../Level/RightStarSpawner:position
   At: scene/main/node.cpp:1382.
ERROR: _ensure_node_caches: On Animation: 'slide', couldn't resolve track:  '../Level/RightStarSpawner:position'
   At: scene/animation/animation_player.cpp:243.
ERROR: get_node: Node not found: ../Level/BlackholeSpawner:position
   At: scene/main/node.cpp:1382.
ERROR: _ensure_node_caches: On Animation: 'slide', couldn't resolve track:  '../Level/BlackholeSpawner:position'
   At: scene/animation/animation_player.cpp:243.
ERROR: _get_modified_time: Failed to get modified time for: 
   At: drivers/unix/file_access_unix.cpp:292.
ERROR: _load: No loader found for resource: res://
   At: core/io/resource_loader.cpp:285.

handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f0559670f20] (??:0)
[2] godot3() [0x1de857b] (./core/cowdata.h:127)
[3] godot3() [0x1deef16] (scene/resources/packed_scene.cpp:424 (discriminator 1))
[4] godot3() [0x1df22c5] (scene/resources/packed_scene.cpp:878)
[5] godot3() [0xd8e32e] (editor/editor_data.cpp:640)
[6] godot3() [0xe4567b] (editor/editor_node.cpp:2888)
[7] godot3() [0x4e1dc3] (./core/variant.h:421)
[8] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[9] godot3() [0x2583197] (./core/variant.h:421)
[10] godot3() [0x2583659] (core/undo_redo.cpp:333)
[11] godot3() [0x2583740] (core/undo_redo.cpp:256)
[12] godot3() [0xe2b7e3] (editor/editor_node.cpp:4200)
[13] godot3() [0xe3b067] (editor/editor_node.cpp:2761)
[14] godot3() [0xe4f69b] (editor/editor_node.cpp:2476)
[15] godot3() [0x4e3f9e] (./core/cowdata.h:369)
[16] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[17] godot3() [0x2513554] (./core/variant.h:421)
[18] godot3() [0x2514775] (core/object.cpp:1285)
[19] godot3() [0x1724ed6] (scene/gui/dialogs.cpp:484 (discriminator 4))
[20] godot3() [0x4e3f9e] (./core/cowdata.h:369)
[21] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[22] godot3() [0x2513554] (./core/variant.h:421)
[23] godot3() [0x2514775] (core/object.cpp:1285)
[24] godot3() [0x16c4de3] (scene/gui/base_button.cpp:139 (discriminator 2))
[25] godot3() [0xf5e571] (./core/reference.h:267)
[26] godot3() [0x250851b] (./core/variant.h:421)
[27] godot3() [0x2506446] (core/object.cpp:883)
[28] godot3() [0x16ad809] (./core/variant.h:421)
[29] godot3() [0x16aecba] (./core/reference.h:285)
[30] godot3() [0x16b108d] (./core/reference.h:285)
[31] godot3() [0x16b122c] (./core/reference.h:285)
[32] godot3() [0x6d48e7] (./core/reference.h:267)
[33] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[34] godot3() [0x25063ae] (core/object.cpp:868)
[35] godot3() [0x167ea5f] (./core/variant.h:421)
[36] godot3() [0x1681db5] (scene/main/scene_tree.cpp:418 (discriminator 6))
[37] godot3() [0x4513f6] (./core/reference.h:285)
[38] godot3() [0x44df4d] (./core/list.h:291)
[39] godot3() [0x44133b] (platform/x11/os_x11.cpp:2462)
[40] godot3() [0x4436e0] (platform/x11/os_x11.cpp:3004)
[41] godot3(main+0xd8) [0x434e08] (platform/x11/godot_x11.cpp:55)
[42] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f0559653b97] (??:0)
[43] godot3() [0x436dea] (??:?)
-- END OF BACKTRACE --
Aborted

I think I found the trigger for this crash, can you guys test the following @bojidar-bg and @capnm

  1. Create a new scene, pick any Node type as root
  2. Add a child
  3. Use the interface to connect the child's tree_exited signal to the root's queue_free method
  4. Save the scene
  5. Open a new scene
  6. Try to switch back

Would be good if someone who can reproduce it can try with a debug build (scons p=x11, don't strip the binary) to have a backtrace.

A reproducible backtrace with your recipe;)
https://github.com/godotengine/godot/issues/27125#issuecomment-473578498

godot3 -e
OpenGL ES 3.0 Renderer: AMD Radeon HD 7700 Series (CAPE VERDE, DRM 3.23.0, 4.15.0-46-generic, LLVM 7.0.0)
ERROR: emit_signal: Error calling method from signal 'node_added': 'CanvasItemEditor::_tree_changed': Cannot convert argument 1 from Object to Object.
   At: core/object.cpp:1238.
ERROR: add_node: Condition ' !p_node->is_inside_tree() ' is true.
   At: editor/editor_data.cpp:994.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7fdb28596f20] (??:0)
[2] godot3() [0x24a9927] (./core/hash_map.h:330)
[3] godot3() [0x2503f95] (./core/variant.h:421)
[4] godot3() [0x103238d] (./core/cowdata.h:369)
[5] godot3() [0x1035899] (editor/scene_tree_editor.cpp:446)
[6] godot3() [0x10361a8] (./core/variant.h:421)
[7] godot3() [0xe440ce] (editor/editor_node.h:636)
[8] godot3() [0xe457eb] (editor/editor_node.cpp:2920)
[9] godot3() [0x4e1dc3] (./core/variant.h:421)
[10] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[11] godot3() [0x2583197] (./core/variant.h:421)
[12] godot3() [0x2583659] (core/undo_redo.cpp:333)
[13] godot3() [0x2583740] (core/undo_redo.cpp:256)
[14] godot3() [0xe2b7e3] (editor/editor_node.cpp:4200)
[15] godot3() [0x4e1dc3] (./core/variant.h:421)
[16] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[17] godot3() [0x2513554] (./core/variant.h:421)
[18] godot3() [0x2514775] (core/object.cpp:1285)
[19] godot3() [0x18214c6] (scene/gui/tabs.cpp:418 (discriminator 4))
[20] godot3() [0x18221d9] (scene/gui/tabs.cpp:215)
[21] godot3() [0x6d48e7] (./core/reference.h:267)
[22] godot3() [0x250851b] (./core/variant.h:421)
[23] godot3() [0x2506446] (core/object.cpp:883)
[24] godot3() [0x16ad809] (./core/variant.h:421)
[25] godot3() [0x16afb88] (./core/reference.h:285)
[26] godot3() [0x16b108d] (./core/reference.h:285)
[27] godot3() [0x16b122c] (./core/reference.h:285)
[28] godot3() [0x6d48e7] (./core/reference.h:267)
[29] godot3() [0x250775c] (core/object.cpp:942 (discriminator 1))
[30] godot3() [0x25063ae] (core/object.cpp:868)
[31] godot3() [0x167ea5f] (./core/variant.h:421)
[32] godot3() [0x1681db5] (scene/main/scene_tree.cpp:418 (discriminator 6))
[33] godot3() [0x4513f6] (./core/reference.h:285)
[34] godot3() [0x44df4d] (./core/list.h:291)
[35] godot3() [0x44133b] (platform/x11/os_x11.cpp:2462)
[36] godot3() [0x4436e0] (platform/x11/os_x11.cpp:3004)
[37] godot3(main+0xd8) [0x434e08] (platform/x11/godot_x11.cpp:55)
[38] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fdb28579b97] (??:0)
[39] godot3() [0x436dea] (??:?)
-- END OF BACKTRACE --
Aborted

The problem is that the directly connected object methods are apparently executed after the scene tab is selected. If you connect something less dangerous, you will just get an "interesting" effect:

bind

test-project2.zip

Hmm, I find this kinda strange, these callbacks shouldn't happen in the editor, the Node isn't set totool so, is kinda strange that these interactions happen.

Maybe all connections with the Save flag on should be completely disabled in the editor, not just swept under the rug by assuming they are connected to placeholder script instances?

I have this backtrace when I try to open all scenes at one time:(it can be easily selected when you search .tscn in grid view in filesystem dock and then select and open all)

[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7fcf4cc40f20] (??:0)
[2] HashMap<Variant, List<Pair<Variant const*, Variant>, DefaultAllocator>::Element*, VariantHasher, VariantComparator, (unsigned char)3, (unsigned char)8>::getptr(Variant const&) const (/home/rafal/Pulpit/godot/./core/hash_map.h:330)
[3] HashMap<Variant, List<Pair<Variant const*, Variant>, DefaultAllocator>::Element*, VariantHasher, VariantComparator, (unsigned char)3, (unsigned char)8>::has(Variant const&) const (/home/rafal/Pulpit/godot/./core/hash_map.h:287)
[4] OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator, (unsigned char)3, (unsigned char)8>::has(Variant const&) const (/home/rafal/Pulpit/godot/./core/ordered_hash_map.h:241)
[5] Dictionary::has(Variant const&) const (/home/rafal/Pulpit/godot/core/dictionary.cpp:136)
[6] Object::has_meta(String const&) const (/home/rafal/Pulpit/godot/core/object.cpp:1043)
[7] EditorNode::get_object_icon(Object const*, String const&) const (/home/rafal/Pulpit/godot/editor/editor_node.cpp:3331 (discriminator 1))
[8] EditorNode::_update_scene_tabs() (/home/rafal/Pulpit/godot/editor/editor_node.cpp:142 (discriminator 3))
[9] EditorNode::_notification(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:257)
[10] EditorNode::_notificationv(int, bool) (/home/rafal/Pulpit/godot/editor/editor_node.h:100 (discriminator 14))
[11] Object::notification(int, bool) (/home/rafal/Pulpit/godot/core/object.cpp:954)
[12] SceneTree::_notify_group_pause(StringName const&, int) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:969)
[13] SceneTree::idle(float) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:518 (discriminator 3))
[14] Main::iteration() (/home/rafal/Pulpit/godot/main/main.cpp:1886)
[15] OS_X11::run() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:3006)
[16] /usr/bin/godot(main+0xdc) [0x116bbb3] (/home/rafal/Pulpit/godot/platform/x11/godot_x11.cpp:56)
[17] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fcf4cc23b97] (??:0)
[18] /usr/bin/godot(_start+0x2a) [0x116ba1a] (??:?)

Without an associated script, it is generally not possible to choose whether the signal should be active as tool mode or not. I think this should not be allowed or at least properly documented. (I didn't know that the direct callbacks work, it's actually a surprise to me that Godot 2.1.x has the same issue.)
godot21.zip

Without an associated script, it is generally not possible to choose whether the signal should be active as tool mode or not. I think this should not be allowed or at least properly documented. (I didn't know that the direct callbacks work, it's actually a surprise to me that Godot 2.1.x has the same issue.)
godot21.zip

I think I reported a similar issue https://github.com/godotengine/godot/issues/13394 and https://github.com/godotengine/godot/issues/13070 is also related

I think I reported a similar issue #13394 and #13070 is also related

There is already a patch to make this, as you suggested, optional #22033, but @reduz for some reasons that I don't understand preferred to just paper over the issue.

Still happens with master

[1] /lib/x86_64-linux-gnu/libc.so.6(+0x46470) [0x7f1ece01e470] (??:0)
[2] List<Pair<Variant const*, Variant>, DefaultAllocator>::size() const (/home/rafal/Pulpit/godot/./core/list.h:411)
[3] OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator, (unsigned char)3, (unsigned char)8>::size() const (/home/rafal/Pulpit/godot/./core/ordered_hash_map.h:275)
[4] Dictionary::empty() const (/home/rafal/Pulpit/godot/core/dictionary.cpp:130)
[5] Object::get_property_list(List<PropertyInfo, DefaultAllocator>*, bool) const (/home/rafal/Pulpit/godot/core/object.cpp:638)
[6] EditorFolding::_fill_folds(Node const*, Node const*, Array&, Array&, Array&, Set<Ref<Resource>, Comparator<Ref<Resource> >, DefaultAllocator>&) (/home/rafal/Pulpit/godot/editor/editor_folding.cpp:117)
[7] EditorFolding::save_scene_folding(Node const*, String const&) (/home/rafal/Pulpit/godot/editor/editor_folding.cpp:148)
[8] EditorNode::set_current_scene(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:3161 (discriminator 5))
[9] MethodBind1<int>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[10] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:921 (discriminator 1))
[11] UndoRedo::_process_operation_list(List<UndoRedo::Operation, DefaultAllocator>::Element*) (/home/rafal/Pulpit/godot/core/undo_redo.cpp:294 (discriminator 4))
[12] UndoRedo::redo() (/home/rafal/Pulpit/godot/core/undo_redo.cpp:338)
[13] UndoRedo::commit_action() (/home/rafal/Pulpit/godot/core/undo_redo.cpp:260)
[14] EditorNode::_scene_tab_changed(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:4674 (discriminator 4))
[15] MethodBind1<int>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[16] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:921 (discriminator 1))
[17] Object::emit_signal(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/core/object.cpp:1218 (discriminator 1))
[18] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:1275)
[19] Tabs::set_current_tab(int) (/home/rafal/Pulpit/godot/scene/gui/tabs.cpp:417 (discriminator 4))
[20] Tabs::_gui_input(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/gui/tabs.cpp:215)
[21] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[22] Object::call_multilevel(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/core/object.cpp:763 (discriminator 1))
[23] Object::call_multilevel(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:864)
[24] Viewport::_gui_call_input(Control*, Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:1634 (discriminator 2))
[25] Viewport::_gui_input_event(Ref<InputEvent>) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:1944 (discriminator 3))
[26] Viewport::input(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:2789 (discriminator 2))
[27] Viewport::_vp_input(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:1410)
[28] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[29] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:921 (discriminator 1))
[30] Object::call(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:848)
[31] SceneTree::call_group_flags(unsigned int, StringName const&, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:275)
[32] SceneTree::input_event(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:430 (discriminator 6))
[33] InputDefault::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/rafal/Pulpit/godot/main/input_default.cpp:416)
[34] InputDefault::parse_input_event(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/main/input_default.cpp:260)
[35] InputDefault::flush_accumulated_events() (/home/rafal/Pulpit/godot/main/input_default.cpp:679)
[36] OS_X11::process_xevents() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:2688)
[37] OS_X11::run() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:3253)
[38] godot(main+0x125) [0x13e596b] (/home/rafal/Pulpit/godot/platform/x11/godot_x11.cpp:57)
[39] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f1ecdfff1e3] (??:0)
[40] godot(_start+0x2e) [0x13e578e] (??:?)
=
Was this page helpful?
0 / 5 - 0 ratings