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

Editor segmentation fault while trying to edit TileSet resource on TileMap inspector #24770

Closed
DamnWidget opened this issue Jan 4, 2019 · 2 comments

Comments

@DamnWidget
Copy link

DamnWidget commented Jan 4, 2019

Godot version:
2c118d7

OS/device including version:
Artix GNU/Linux Kernel 4.14.90

Issue description:

Greetings.

I've been experiencing a crash when I click in the Open Editor button when I try to edit a TileSet in a Tilemap in the inspector docker. So far this only happened to me with TileSet nodes but I did not try with every possible node out there.

Feel free to close this issue if you consider it is a duplicate of any of the similar already open issues I wasn't sure how to proceed here so I decided to open this one and give you links to the similar ones so you can decide how to proceed and probably add any useful information that I could provide in this report.

On my tests, the problem only appears after use the Open Editor button in the resource for the first time, it looks pretty non deterministic to me as some times it happens at the second try and others after six or seven tries.

Traceback:

[1] /usr/lib/libc.so.6(+0x37e00) [0x7ffff6c19e00] (??:0)
[2] Set<BaseButton*, Comparator<BaseButton*>, DefaultAllocator>::front() const (/home/damnwidget/development/engines/godot/./core/set.h:570)
[3] BaseButton::_unpress_group() (/home/damnwidget/development/engines/godot/scene/gui/base_button.cpp:46)
[4] BaseButton::_gui_input(Ref<InputEvent>) (/home/damnwidget/development/engines/godot/scene/gui/base_button.cpp:157)
[5] MethodBind1<Ref<InputEvent> >::call(Object*, Variant const**, int, Variant::CallError&) (/home/damnwidget/development/engines/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[6] Object::call_multilevel(StringName const&, Variant const**, int) (/home/damnwidget/development/engines/godot/core/object.cpp:779 (discriminator 1))
[7] Object::call_multilevel(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/damnwidget/development/engines/godot/core/object.cpp:886)
[8] Viewport::_gui_call_input(Control*, Ref<InputEvent> const&) (/home/damnwidget/development/engines/godot/scene/main/viewport.cpp:1515 (discriminator 2))
[9] Viewport::_gui_input_event(Ref<InputEvent>) (/home/damnwidget/development/engines/godot/scene/main/viewport.cpp:1856 (discriminator 3))
[10] Viewport::input(Ref<InputEvent> const&) (/home/damnwidget/development/engines/godot/scene/main/viewport.cpp:2605 (discriminator 2))
[11] Viewport::_vp_input(Ref<InputEvent> const&) (/home/damnwidget/development/engines/godot/scene/main/viewport.cpp:1292)
[12] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/damnwidget/development/engines/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[13] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/damnwidget/development/engines/godot/core/object.cpp:945 (discriminator 1))
[14] Object::call(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/damnwidget/development/engines/godot/core/object.cpp:870)
[15] SceneTree::call_group_flags(unsigned int, StringName const&, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/damnwidget/development/engines/godot/scene/main/scene_tree.cpp:262)
[16] SceneTree::input_event(Ref<InputEvent> const&) (/home/damnwidget/development/engines/godot/scene/main/scene_tree.cpp:418 (discriminator 6))
[17] InputDefault::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/damnwidget/development/engines/godot/main/input_default.cpp:414)
[18] InputDefault::parse_input_event(Ref<InputEvent> const&) (/home/damnwidget/development/engines/godot/main/input_default.cpp:260)
[19] OS_X11::process_xevents() (/home/damnwidget/development/engines/godot/platform/x11/os_x11.cpp:2148 (discriminator 3))
[20] OS_X11::run() (/home/damnwidget/development/engines/godot/platform/x11/os_x11.cpp:2984)
[21] /home/damnwidget/development/engines/godot/bin/godot.x11.tools.64(main+0xdc) [0x1151562] (/home/damnwidget/development/engines/godot/platform/x11/godot_x11.cpp:56)
[22] /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7ffff6c06223] (??:0)
[23] /home/damnwidget/development/engines/godot/bin/godot.x11.tools.64(_start+0x2e) [0x11513ce] (??:?)

And this is from GDB

Thread 1 "godot.x11.tools" received signal SIGSEGV, Segmentation fault.
Set<BaseButton*, Comparator<BaseButton*>, DefaultAllocator>::front (this=0xa699640) at ./core/set.h:573
573                     Element *e = _data._root->left;
(gdb) print _data._root->left
Cannot access memory at address 0x11
(gdb) list
568             Element *front() const {
569     
570                     if (!_data._root)
571                             return NULL;
572     
573                     Element *e = _data._root->left;
574                     if (e == _data._nil)
575                             return NULL;
576     
577                     while (e->left != _data._nil)

Steps to reproduce:
Just create a new Scene add a TileMap node and create/attach a TileSet to it, then use the Open Editor button in the resource, move to another node in the scene, come back to the TileMap node and press the Open Editor again until you crash the editor.

Related Issues and commits:

Let me know if I can do something else to help you help me and thank you for all your work and effort on this engine, it is pretty awesome.

Regards.

@bojidar-bg bojidar-bg added this to the 3.1 milestone Jan 4, 2019
@akien-mga
Copy link
Member

Other open related issues: #23672, #24630

This issue is a duplicate of #23672, no?

@DamnWidget
Copy link
Author

You are totally right, closing this one

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

3 participants