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

Crash when user tries to pick a color on Linux #101412

Closed
dkflRus opened this issue Jan 10, 2025 · 5 comments · Fixed by #101513
Closed

Crash when user tries to pick a color on Linux #101412

dkflRus opened this issue Jan 10, 2025 · 5 comments · Fixed by #101513

Comments

@dkflRus
Copy link

dkflRus commented Jan 10, 2025

Tested versions

Not reproducible on older versions

System information

Godot v4.4.dev (24d7451) - Arch Linux on Wayland - X11 display driver, Multi-window, 1 monitor - Vulkan (Forward+) - integrated Intel(R) Iris(R) Xe Graphics (TGL GT2) - 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 threads)

Issue description

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.4.dev.custom_build (24d74510e5831960f79837e5297853cb3286594e)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x3d1d0) [0x7b57400431d0] (??:0)
[2] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x37cfcbb) [0x637005861cbb] (??:0)
[3] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x34a8b58) [0x63700553ab58] (??:0)
[4] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x34b70a0) [0x6370055490a0] (??:0)
[5] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x57f2b3d) [0x637007884b3d] (??:0)
[6] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x34c3e89) [0x637005555e89] (??:0)
[7] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x337de57) [0x63700540fe57] (??:0)
[8] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x338c1fc) [0x63700541e1fc] (??:0)
[9] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x33a8c7f) [0x63700543ac7f] (??:0)
[10] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x33fc420) [0x63700548e420] (??:0)
[11] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x6b68bf) [0x6370027488bf] (??:0)
[12] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x6cb9f6) [0x63700275d9f6] (??:0)
[13] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x53f5a57) [0x637007487a57] (??:0)
[14] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x53f896d) [0x63700748a96d] (??:0)
[15] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x6cf745) [0x637002761745] (??:0)
[16] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x69b020) [0x63700272d020] (??:0)
[17] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x66b192) [0x6370026fd192] (??:0)
[18] /usr/lib/libc.so.6(+0x25e08) [0x7b574002be08] (??:0)
[19] /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7b574002becc] (??:0)
[20] /path/to/github-clone/bin/godot.linuxbsd.editor.x86_64(+0x697f65) [0x637002729f65] (??:0)
-- END OF BACKTRACE --
================================================================

Steps to reproduce

  1. Open new project
  2. Create Sprite2D
  3. Go to Texture
  4. Try to pick some color

After Pipette button is pressed window freezes for 2-3 seconds and crashes.

Minimal reproduction project (MRP)

@fire fire changed the title [bug] [platform:linuxbsd] Crash when user tries to pick a color Crash when user tries to pick a color on Linux Jan 10, 2025
@akien-mga akien-mga added this to the 4.4 milestone Jan 10, 2025
@akien-mga akien-mga moved this from Unassessed to Immediate Blocker in 4.x Release Blockers Jan 10, 2025
@hpvb hpvb self-assigned this Jan 11, 2025
@Zireael07
Copy link
Contributor

Single window or multi window mode?

@dkflRus
Copy link
Author

dkflRus commented Jan 11, 2025

Single window or multi window mode?

Multi-window, 1 monitor

@akien-mga
Copy link
Member

Confirmed on latest master branch: d19147e.

The steps to reproduce were a bit unclear (how to go from "Texture" to a color picker), so here's what I did:

  • Create new project, add Node2D scene
  • Drag icon.svg to 2D viewport to instantiate a Sprite2D
  • In its settings, click modulate and try to use the color picker

Stacktrace:

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.4.dev.custom_build (d19147e09a13a7d6df44076f15893a5d1108fbb0)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x1a090) [0x7f75f90e7090] (??:0)
[2] Ref<Texture2D>::ref(Ref<Texture2D> const&) (/home/akien/Godot/godot/./core/object/ref_counted.h:61)
[3] Ref<Texture2D>::operator=(Ref<Texture2D> const&) (/home/akien/Godot/godot/./core/object/ref_counted.h:129)
[4] Ref<Texture2D>::Ref(Ref<Texture2D> const&) (/home/akien/Godot/godot/./core/object/ref_counted.h:161)
[5] TextureRect::get_texture() const (/home/akien/Godot/godot/./scene/gui/texture_rect.cpp:205)
[6] ColorPicker::_picker_texture_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/gui/color_picker.cpp:1985 (discriminator 1))
[7] void call_with_variant_args_helper<ColorPicker, Ref<InputEvent> const&, 0ul>(ColorPicker*, void (ColorPicker::*)(Ref<InputEvent> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/akien/Godot/godot/./core/variant/binder_common.h:315 (discriminator 2))
[8] void call_with_variant_args<ColorPicker, Ref<InputEvent> const&>(ColorPicker*, void (ColorPicker::*)(Ref<InputEvent> const&), Variant const**, int, Callable::CallError&) (/home/akien/Godot/godot/./core/variant/binder_common.h:430)
[9] CallableCustomMethodPointer<ColorPicker, void, Ref<InputEvent> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/object/callable_method_pointer.h:109)
[10] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/variant/callable.cpp:57)
[11] Object::emit_signalp(StringName const&, Variant const**, int) (/home/akien/Godot/godot/./core/object/object.cpp:1237)
[12] Node::emit_signalp(StringName const&, Variant const**, int) (/home/akien/Godot/godot/./scene/main/node.cpp:4021)
[13] Error Object::emit_signal<Ref<InputEvent> >(StringName const&, Ref<InputEvent>) (/home/akien/Godot/godot/./core/object/object.h:933)
[14] Control::_call_gui_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/gui/control.cpp:1813 (discriminator 3))
[15] Viewport::_gui_call_input(Control*, Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/main/viewport.cpp:1618)
[16] Viewport::_gui_input_event(Ref<InputEvent>) (/home/akien/Godot/godot/./scene/main/viewport.cpp:2028 (discriminator 2))
[17] Viewport::push_input(Ref<InputEvent> const&, bool) (/home/akien/Godot/godot/./scene/main/viewport.cpp:3273 (discriminator 2))
[18] Window::_window_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/main/window.cpp:1694)
[19] void call_with_variant_args_helper<Window, Ref<InputEvent> const&, 0ul>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/akien/Godot/godot/./core/variant/binder_common.h:315 (discriminator 2))
[20] void call_with_variant_args<Window, Ref<InputEvent> const&>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, int, Callable::CallError&) (/home/akien/Godot/godot/./core/variant/binder_common.h:430)
[21] CallableCustomMethodPointer<Window, void, Ref<InputEvent> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/object/callable_method_pointer.h:109)
[22] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/variant/callable.cpp:57)
[23] Variant Callable::call<Ref<InputEvent> >(Ref<InputEvent>) const (/home/akien/Godot/godot/./core/variant/variant.h:952)
[24] DisplayServerX11::_dispatch_input_event(Ref<InputEvent> const&) (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:4147 (discriminator 2))
[25] DisplayServerX11::_dispatch_input_events(Ref<InputEvent> const&) (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:4124)
[26] Input::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/akien/Godot/godot/./core/input/input.cpp:922)
[27] Input::flush_buffered_events() (/home/akien/Godot/godot/./core/input/input.cpp:1203)
[28] DisplayServerX11::process_events() (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:5278)
[29] OS_LinuxBSD::run() (/home/akien/Godot/godot/platform/linuxbsd/os_linuxbsd.cpp:960)
[30] /home/akien/Godot/godot/bin/godot.linuxbsd.editor.dev.x86_64(main+0x14b) [0x65ee0b1] (/home/akien/Godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:85)
[31] /lib64/libc.so.6(+0x3248) [0x7f75f90d0248] (??:0)
[32] /lib64/libc.so.6(__libc_start_main+0x8b) [0x7f75f90d030b] (??:0)
[33] /home/akien/Godot/godot/bin/godot.linuxbsd.editor.dev.x86_64(_start+0x25) [0x65edea5] (??:?)
-- END OF BACKTRACE --
================================================================

@akien-mga
Copy link
Member

This is a regression from #101266, CC @WhalesState @bruvzg.

@WhalesState
Copy link
Contributor

_picker_texture_input is related to legacy picking, and it crashes here.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Immediate Blocker
Development

Successfully merging a pull request may close this issue.

5 participants