-
-
Notifications
You must be signed in to change notification settings - Fork 984
Closed
Description
I've got the following segfault in Waybar 0.14.0:
Core was generated by `/nix/store/g2r7rc3p1d6m36d5y1ja53rkranfgxwr-waybar-0.14.0/bin/waybar -b bar-0'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f72f8702d18 in g_source_set_name_full (source=0x7f72300061a0, name=0x7f72f93b43f8 "[gtk+] gdk_frame_clock_paint_idle", is_static=0) at ../glib/gmain.c:2202
2202 if (!source->priv->static_name)
[Current thread is 1 (Thread 0x7f725e7fc6c0 (LWP 35434))]
(gdb) list
2197 /* setting back to NULL is allowed, just because it's
2198 * weird if get_name can return NULL but you can't
2199 * set that.
2200 */
2201
2202 if (!source->priv->static_name)
2203 g_free (source->name);
2204
2205 if (is_static)
2206 source->name = (char *)name;
(gdb) bt full
#0 0x00007fe245702d18 in g_source_set_name_full (source=0x7fe188006400, name=0x7fe2463b43f8 "[gtk+] gdk_frame_clock_paint_idle", is_static=0) at ../glib/gmain.c:2202
context = <optimized out>
_g_boolean_var_89 = <optimized out>
_g_boolean_var_90 = <optimized out>
gaig_temp = <optimized out>
#1 0x00007fe245d10de9 in gtk_widget_add_tick_callback (widget=0x55bd49ab9f80 [gtkmm__GtkWindow], callback=callback@entry=0x7fe245afb960 <gtk_css_widget_node_queue_callback>, user_data=user_data@entry=0x55bd49a3f7f0, notify=notify@entry=0x0) at ../gtk/gtkwidget.c:5368
priv = 0x55bd49ab9e90
info = <optimized out>
frame_clock = 0x55bd49d9d060 [GdkFrameClockIdle]
#2 0x00007fe245afb946 in gtk_css_widget_node_queue_validate (node=0x55bd49a3f7f0 [GtkCssWidgetNode]) at ../gtk/gtkcsswidgetnode.c:95
widget_node = 0x55bd49a3f7f0 [GtkCssWidgetNode]
#3 0x00007fe245ad83cb in gtk_css_node_invalidate_style (cssnode=0x55bd49b58f40 [GtkCssWidgetNode]) at ../gtk/gtkcssnode.c:727
#4 gtk_css_node_invalidate (cssnode=cssnode@entry=0x55bd49b58f40 [GtkCssWidgetNode], change=<optimized out>, change@entry=1) at ../gtk/gtkcssnode.c:1372
#5 0x00007fe245ad8ad5 in gtk_css_node_remove_class (cssnode=0x55bd49b58f40 [GtkCssWidgetNode], style_class=<optimized out>) at ../gtk/gtkcssnode.c:1254
#6 0x000055bd41f1303a in waybar::modules::sway::Language::set_current_layout (this=this@entry=0x55bd49c632a0, current_layout="Russian") at ../src/modules/sway/language.cpp:128
#7 0x000055bd41f160bb in waybar::modules::sway::Language::onEvent (this=0x55bd49c632a0, res=...) at ../src/modules/sway/language.cpp:89
lock = {_M_device = <optimized out>}
payload = {static minLargestInt = -9223372036854775808, static maxLargestInt = 9223372036854775807, static maxLargestUInt = 18446744073709551615, static minInt = -2147483648, static maxInt = 2147483647, static maxUInt = 4294967295, static minInt64 = -9223372036854775808, static maxInt64 = 9223372036854775807, static maxUInt64 = 18446744073709551615, static defaultRealPrecision = 17, static maxUInt64AsDouble = 1.8446744073709552e+19, value_ = {int_ = 140606626094832, uint_ = 140606626094832, real_ = 6.9468903531101842e-310, bool_ = 240, string_ = 0x7fe188005ef0 "\205\343\030v\346\177", map_ = 0x7fe188005ef0}, bits_ = {value_type_ = 7, allocated_ = 0}, comments_ = {ptr_ = std::unique_ptr<struct std::array<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 3>> = {get() = 0x0}}, start_ = 35, limit_ = 295}
#8 0x000055bd41f06bfe in sigc::internal::signal_emit1<void, waybar::modules::sway::Ipc::ipc_response const&, sigc::nil>::emit (impl=0x55bd49b59c10, _A_a1=...) at /nix/store/blx56cg23z09bihhxlv4xsa3zb58irzp-libsigc++-2.12.1-dev/include/sigc++-2.0/sigc++/signal.h:1041
slot = @0x55bd49b59c50: {<sigc::functor_base> = {<No data fields>}, rep_ = 0x55bd49b59b80, blocked_ = false}
exec = {sig_ = 0x55bd49b59c10}
slots = Python Exception <class 'gdb.error'>: value has been optimized out
{slots_ = <optimized out>, placeholder = }
#9 0x000055bd41f06af7 in sigc::signal1<void, waybar::modules::sway::Ipc::ipc_response const&, sigc::nil>::emit (this=0x55bd49c635c8, _A_a1=...) at /nix/store/blx56cg23z09bihhxlv4xsa3zb58irzp-libsigc++-2.12.1-dev/include/sigc++-2.0/sigc++/signal.h:2961
#10 waybar::modules::sway::Ipc::handleEvent (this=0x55bd49c635c8) at ../src/modules/sway/ipc/client.cpp:154
res = {size = 297, type = 2147483669, payload = "{ \"change\": \"xkb_layout\", \"input\": { \"identifier\": \"0:0:wlr_virtual_keyboard_v1\", \"name\": \"wlr_virtual_keyboard_v1\", \"type\": \"keyboard\", \"repeat_delay\": 600, \"repeat_rate\": 25, \"xkb_layout_names\": [ \""...}
#11 0x000055bd41f150a7 in operator() (__closure=<optimized out>) at ../src/modules/sway/language.cpp:40
#12 std::__invoke_impl<void, waybar::modules::sway::Language::Language(const std::string&, const Json::Value&)::<lambda()>&> (__f=<optimized out>) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/invoke.h:63
#13 std::__invoke_r<void, waybar::modules::sway::Language::Language(const std::string&, const Json::Value&)::<lambda()>&> (__fn=<optimized out>) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/invoke.h:113
#14 std::_Function_handler<void(), waybar::modules::sway::Language::Language(const std::string&, const Json::Value&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/std_function.h:292
#15 0x000055bd41e5ce62 in std::function<void()>::operator() (this=0x55bd49b64720) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/std_function.h:593
#16 waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}::operator()() const (__closure=0x55bd49b64718) at ../include/util/sleeper_thread.hpp:48
#17 std::__invoke_impl<void, waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}>(std::__invoke_other, waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}&&) (__f=...) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/invoke.h:63
#18 std::__invoke<waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}>(waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}&&) (__fn=...) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/invoke.h:98
#19 std::thread::_Invoker<std::tuple<waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x55bd49b64718) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/std_thread.h:303
#20 std::thread::_Invoker<std::tuple<waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}> >::operator()() (this=0x55bd49b64718) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/std_thread.h:310
#21 std::thread::_State_impl<std::thread::_Invoker<std::tuple<waybar::util::SleeperThread::operator=(std::function<void ()>)::{lambda()#1}> > >::_M_run() (this=0x55bd49b64710) at /nix/store/qarrb8yfby1yyypm32vabzgxgq3w41ma-gcc-15.2.0/include/c++/15.2.0/bits/std_thread.h:255
#22 0x00007fe244cf2ce4 in execute_native_thread_routine () at /nix/store/xc0ga87wdclrx54qjaryahkkmkmqi9qz-gcc-15.2.0-lib/lib/libstdc++.so.6
#23 0x00007fe24489be3c in start_thread (arg=<optimized out>) at pthread_create.c:447
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140608169572032, 2201921418368590696, 140608169572032, 140721872088400, 2, 140721872088663, 2201921418353910632, 2200436341414765416}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#24 0x00007fe2449246cc in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) frame 6
#6 0x000055bd41f1303a in waybar::modules::sway::Language::set_current_layout (this=this@entry=0x55bd49c632a0, current_layout="Russian") at ../src/modules/sway/language.cpp:128
128 label_.get_style_context()->remove_class(layout_.short_name);
(gdb) list
123 // Call parent update
124 ALabel::update();
125 }
126
127 auto Language::set_current_layout(std::string current_layout) -> void {
128 label_.get_style_context()->remove_class(layout_.short_name);
129 layout_ = layouts_map_[current_layout];
130 label_.get_style_context()->add_class(layout_.short_name);
131 }
132
(gdb) p layout_
$1 = {full_name = "Russian", short_name = "ru", variant = "", short_description = "ru"}I'm using the default configuration for the sway/language module.
Reactions are currently unavailable