Crash when parsing command
- Set
cmd
as command (with a leading space) - Move the slider
Backtrace:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f11fe5085cf in execute_command (command=0x55ba818cc4c0 " a") at generic-slider.c:153
153 if (command[i - 1] != ' ') {
[Current thread is 1 (Thread 0x7f11fbe3ca00 (LWP 107636))]
(gdb) bt
#0 0x00007f11fe5085cf in execute_command (command=0x55ba818cc4c0 " a") at generic-slider.c:153
#1 0x00007f11fe5094b0 in execute_command (command=<optimized out>) at generic-slider.c:143
#2 adjust_slider_cb (widget=widget@entry=0x55ba817b5730, event=0x55ba818d8460, stupid_hack=<optimized out>) at generic-slider.c:279
#3 0x00007f11fdc84fd8 in _gtk_marshal_BOOLEAN__BOXED
(closure=0x55ba817f6670, return_value=0x7ffdb046d480, n_param_values=<optimized out>, param_values=0x7ffdb046d4e0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk/gtkmarshalers.c:84
#4 0x00007f11fe3f7210 in g_closure_invoke (closure=0x55ba817f6670, return_value=0x7ffdb046d480, n_param_values=2, param_values=0x7ffdb046d4e0, invocation_hint=0x7ffdb046d460) at ../glib/gobject/gclosure.c:832
#5 0x00007f11fe4252f8 in signal_emit_unlocked_R.isra.0
(node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x55ba817b5730, emission_return=emission_return@entry=0x7ffdb046d5f0, instance_and_params=instance_and_params@entry=0x7ffdb046d4e0)
at ../glib/gobject/gsignal.c:3812
#6 0x00007f11fe414aa0 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdb046d6a0) at ../glib/gobject/gsignal.c:3575
#7 0x00007f11fe415324 in g_signal_emit (instance=instance@entry=0x55ba817b5730, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3622
#8 0x00007f11fdf44b25 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x55ba817b5730, event=0x55ba818d8460) at ../gtk/gtk/gtkwidget.c:7812
#9 0x00007f11fdde20bb in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x55ba817b5730) at ../gtk/gtk/gtkmain.c:2588
#10 propagate_event (widget=widget@entry=0x55ba817b5730, event=event@entry=0x55ba818d8460, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2691
#11 0x00007f11fdde21f2 in gtk_propagate_event (widget=widget@entry=0x55ba817b5730, event=event@entry=0x55ba818d8460) at ../gtk/gtk/gtkmain.c:2725
#12 0x00007f11fdde2f9b in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1921
#13 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
#14 0x00007f11fdb3ab83 in _gdk_event_emit (event=0x55ba818d8460) at ../gtk/gdk/gdkevents.c:73
#15 _gdk_event_emit (event=0x55ba818d8460) at ../gtk/gdk/gdkevents.c:67
#16 0x00007f11fdb92a78 in gdk_event_source_dispatch.lto_priv () at ../gtk/gdk/x11/gdkeventsource.c:354
#17 0x00007f11fd84153b in g_main_dispatch (context=0x55ba81602a90) at ../glib/glib/gmain.c:3460
#18 g_main_context_dispatch (context=0x55ba81602a90) at ../glib/glib/gmain.c:4200
#19 0x00007f11fd89e219 in g_main_context_iterate.constprop.0 (context=0x55ba81602a90, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#20 0x00007f11fd840c7f in g_main_loop_run (loop=0x55ba8176f180) at ../glib/glib/gmain.c:4479
#21 0x00007f11fddd8e4f in gtk_main () at ../gtk/gtk/gtkmain.c:1329
#22 0x000055ba80fef114 in main (argc=<optimized out>, argv=<optimized out>) at main.c:380
Also I sometimes get this critical warning instead of this crash (because I set G_DEBUG=fatal-criticals
):
wrapper-2.0: xcb_io.c :278 : poll_for_event: assertion « !xcb_xlib_threads_sequence_lost » failed.
with this backtrace:
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f817437f26c in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007f817437f26c in () at /usr/lib/libc.so.6
#1 0x00007f817432fa08 in raise () at /usr/lib/libc.so.6
#2 0x00007f8174318538 in abort () at /usr/lib/libc.so.6
#3 0x00007f817431845c in () at /usr/lib/libc.so.6
#4 0x00007f81743283d6 in () at /usr/lib/libc.so.6
#5 0x00007f8173dca902 in () at /usr/lib/libX11.so.6
#6 0x00007f8173dca9c6 in () at /usr/lib/libX11.so.6
#7 0x00007f8173dcd642 in _XEventsQueued () at /usr/lib/libX11.so.6
#8 0x00007f8173dbbc48 in XPending () at /usr/lib/libX11.so.6
#9 0x00007f81750ef89e in gdk_check_xpending (display=0x5569ddfd18a0) at ../gtk/gdk/x11/gdkeventsource.c:269
#10 gdk_event_source_check (source=source@entry=0x5569ddff57a0) at ../gtk/gdk/x11/gdkeventsource.c:306
#11 0x00007f817453aa0f in g_main_context_check (context=0x5569ddff5a90, max_priority=2147483647, fds=<optimized out>, n_fds=<optimized out>) at ../glib/glib/gmain.c:4093
#12 0x00007f8174597078 in g_main_context_iterate.constprop.0 (context=0x5569ddff5a90, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#13 0x00007f8174539c7f in g_main_loop_run (loop=0x5569de1605c0) at ../glib/glib/gmain.c:4479
#14 0x00007f81749d8e4f in gtk_main () at ../gtk/gtk/gtkmain.c:1329
#15 0x00005569ddeb5114 in main (argc=<optimized out>, argv=<optimized out>) at main.c:380
Maybe you could avoid most of the low-level stuff via GLib: