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
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)

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:

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
tree_exited signal to the root's queue_free methodWould 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:

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] (??:?)
=
I think that https://github.com/godotengine/godot-proposals/issues/214 would also solve this