Almost five years later and this bug still exists. Confirmed on Ubuntu Karmic with xbindkeys-config 0.1.3-2 .
I have attached a backtrace of the issue, in case it helps. Ubuntu report: https://bugs.launchpad.net/bugs/70521
GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"... (gdb) handle SIG33 pass nostop noprint Signal Stop Print Pass to program Description SIG33 No No Yes Real-time event 33 (gdb) set pagination 0 (gdb) run Starting program: /usr/bin/xbindkeys-config [Thread debugging using libthread_db enabled] [New Thread 0x7fcca50e8780 (LWP 11445)] open file: No such file or directory xbindkeys: no process found Error : /home/hew/.xbindkeysrc not found or reading not allowed. please, create one with 'xbindkeys --defaults > /home/hew/.xbindkeysrc'. or, if you want scheme configuration style, with 'xbindkeys --defaults-guile > /home/hew/.xbindkeysrc.scm'. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fcca50e8780 (LWP 11445)] middle_get_key (parent=<value optimized out>, data=<value optimized out>) at middle.c:364 364 middle.c: No such file or directory. in middle.c (gdb) backtrace full #0 middle_get_key (parent=<value optimized out>, data=<value optimized out>) at middle.c:364 f = <value optimized out> buf = " À/gÿ\177\000\000 \002º\001", '\0' <repeats 12 times>, "@f»\001\000\000\000\000Шc¤Ì\177\000\000\000\000\000\000\000\000\000\000 À/gÿ\177\000\000UÛc¤Ì\177\000\000}\000\000\000\000\000\000\000P\034\001\000\000\000\000XÁ/gÿ\177\000\000\000\214¼\001\000\000\000\000À\214¼\001\000\000\000\000PA¼\001\000\000\000\000$À/gÿ\177\000\000,À/gÿ\177\000\000(À/gÿ\177\000\000 \002º\001", '\0' <repeats 13 times>, "*|¢Ì\177\000\000\000\000\000\000\000\000\000\000À\214¼\001\000\000\000\000Шc¤Ì\177\000\000à\000º\001", '\0' <repeats 12 times>, "À\214¼\001\000\000\000"... buf2 = "àÁ/gÿ\177\000\000\000a²\001\000\000\000\000ÐÓª\001\000\000\000\000\000a²\001\000\000\000\000\200\226«\001\000\000\000\...@a²\001\000\000\000\000\001\000\000\000\000\000\000\000pÃ/gÿ\177\000\000\000\000\000\000\000\000\000\000{\033³¤Ì\177\000\000 z¼\001", '\0' <repeats 12 times>, " z¼\001" pl1 = 0x1 <Address 0x1 out of bounds> buf3 = {0x1aaaf01 "", 0x7fff672fbe50 "Шc¤Ì\177", 0x1ba0680 "\220»ª\001", 0x1babc20 "", 0x7fcca463a8d0 "¸\001", 0x0, 0x7fff672fbf70 "\n", 0x1ba05e0 "\020\003«\001", 0x0, 0x1babc20 "", 0x7fcca463a8d0 "¸\001", 0x0, 0x7fff672fbec0 "@f»\001", 0x7fcca463db55 "é<þÿÿf\017\037D", 0x0, 0x7fff672fbe80 "`Ã/gÿ\177", 0x7fff672fc360 "ÐÇ/gÿ\177", 0x1b26b90 "", 0x1b9ce60 " f»\001", 0x1bc4c90 "Ð\204¼\001", 0x7fff672fbec4 "", 0x7fff672fbecc "", 0x7fff672fbec8 "`ι\001", 0x1ba05e0 "\020\003«\001", 0x1bb6640 "", 0x1b9ce60 " f»\001", 0x7fcca463a8d0 "¸\001", 0x0, 0x7fff672fbf70 "\n", 0x1ba0360 "\020\003«\001", 0x0, 0x1b9ce60 " f»\001", 0x7fcca463a8d0 "¸\001", 0x0, 0x7fff672fbf70 "\n", 0x7fcca463db55 "é<þÿÿf\017\037D", 0x1bbf378 "\020h\001", 0x1bbf2b8 " ѧ\001", 0x7fff672fbf70 "\n", 0x1bb66a0 "\220L¼\001", 0x1bb6640 "", 0x1bc4000 "`ι\001", 0x7fff672fbf74 "", 0x7fff672fbf7c "\031", 0x7fff672fbf78 "ö\002", 0x1ba0360 "\020\003«\001", 0xa <Address 0xa out of bounds>, 0x19000002f6 <Address 0x19000002f6 out of bounds>, 0x7fcca463a8d0 "¸\001", 0x0} i = <value optimized out> #1 0x00007fcca2c9f62e in IA__g_closure_invoke (closure=0x1ae28d0, return_value=0x0, n_param_values=1, param_values=0x1bc7a20, invocation_hint=0x7fff672fc370) at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c:767 marshal = (GClosureMarshal) 0 marshal_data = (gpointer) 0xa0a0a0a0a0a0a0a __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #2 0x00007fcca2cb5836 in signal_emit_unlocked_R (node=0x1ad1780, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3247 tmp = (Handler *) 0x1b16b20 handler = (Handler *) 0x1b16b20 accumulator = (SignalAccumulator *) 0x0 emission = {next = 0x7fff672fc7d0, instance = 0x1b26100, ihint = {signal_id = 96, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4} class_closure = (GClosure *) 0x1adfb00 handler_list = (Handler *) 0x1b16b20 return_accu = <value optimized out> accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 96 max_sequential_handler_number = <value optimized out> return_value_altered = 1 #3 0x00007fcca2cb6c7e in IA__g_signal_emit_valist (instance=0x1b26100, signal_id=<value optimized out>, detail=0, var_args=0x7fff672fc560) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:2980 signal_return_type = 4 param_values = <value optimized out> node = (SignalNode *) 0x1ad1780 i = <value optimized out> n_params = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" #4 0x00007fcca2cb7203 in IA__g_signal_emit (instance=0x1, signal_id=10, detail=1714339615) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3037 var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff672fc640, reg_save_area = 0x7fff672fc580}} #5 0x00007fcca494655a in gtk_button_button_press (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c:1579 button = <value optimized out> #6 0x00007fcca4a09a03 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1ab90b0, return_value=0x7fff672fc820, n_param_values=<value optimized out>, param_values=0x1bc4a40, invocation_hint=<value optimized out>, marshal_data=0x7fcca49464f0) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmarshalers.c:84 data1 = (gpointer) 0x1b26100 data2 = (gpointer) 0x1ab9760 v_return = <value optimized out> __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" #7 0x00007fcca2c9f62e in IA__g_closure_invoke (closure=0x1ab90b0, return_value=0x7fff672fc820, n_param_values=2, param_values=0x1bc4a40, invocation_hint=0x7fff672fc7e0) at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c:767 marshal = (GClosureMarshal) 0 marshal_data = (gpointer) 0xa0a0a0a0a0a0a0a __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #8 0x00007fcca2cb5508 in signal_emit_unlocked_R (node=0x1abad60, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3285 accumulator = (SignalAccumulator *) 0x0 emission = {next = 0x0, instance = 0x1b26100, ihint = {signal_id = 30, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 28177584} class_closure = (GClosure *) 0x1ab90b0 handler_list = (Handler *) 0x0 return_accu = <value optimized out> accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 30 max_sequential_handler_number = 0 return_value_altered = 0 #9 0x00007fcca2cb6b3e in IA__g_signal_emit_valist (instance=0x1b26100, signal_id=<value optimized out>, detail=0, var_args=0x7fff672fc9d0) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:2990 return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} error = <value optimized out> signal_return_type = 20 param_values = <value optimized out> node = (SignalNode *) 0x1abad60 i = <value optimized out> n_params = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" #10 0x00007fcca2cb7203 in IA__g_signal_emit (instance=0x1, signal_id=10, detail=1714339615) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3037 var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff672fcab0, reg_save_area = 0x7fff672fc9f0}} #11 0x00007fcca4b28bdf in gtk_widget_event_internal (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkwidget.c:4761 signal_num = <value optimized out> return_val = 0 #12 0x00007fcca4a009d4 in IA__gtk_propagate_event (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:2396 tmp = (GtkWidget *) 0x1b26100 handled_event = 28993664 __PRETTY_FUNCTION__ = "IA__gtk_propagate_event" #13 0x00007fcca4a01af3 in IA__gtk_main_do_event (event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:1601 event_widget = <value optimized out> grab_widget = (GtkWidget *) 0x1b26100 window_group = (GtkWindowGroup *) 0x1ba6880 rewritten_event = (GdkEvent *) 0x0 tmp_list = <value optimized out> __PRETTY_FUNCTION__ = "IA__gtk_main_do_event" #14 0x00007fcca465790c in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at /build/buildd/gtk+2.0-2.17.2/gdk/x11/gdkevents-x11.c:2367 display = <value optimized out> event = <value optimized out> #15 0x00007fcca28028fe in IA__g_main_context_dispatch (context=0x1ab8150) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:1814 No locals. #16 0x00007fcca2805fd8 in g_main_context_iterate (context=0x1ab8150, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:2445 max_priority = 2147483647 timeout = 500 some_ready = 1 nfds = 1 allocated_nfds = -1568593552 fds = <value optimized out> __PRETTY_FUNCTION__ = "g_main_context_iterate" #17 0x00007fcca2806435 in IA__g_main_loop_run (loop=0x1b76df0) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:2653 self = (GThread *) 0x1a95de0 __PRETTY_FUNCTION__ = "IA__g_main_loop_run" #18 0x00007fcca4a02027 in IA__gtk_main () at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:1205 tmp_list = (GList *) 0x1af7080 functions = (GList *) 0x0 init = (GtkInitFunction *) 0x1afb810 loop = <value optimized out> #19 0x0000000000402efa in main (argc=1, argv=0x7fff672fd288) at xbindkeys_config.c:107 window = (GtkWidget *) 0x1af7080 menu = <value optimized out> middle = (GtkWidget *) 0x1b12040 vbox = (GtkWidget *) 0x1afb810 hbox = (GtkWidget *) 0x1afb810 accel_group = <value optimized out> buf = "/home/hew/.xbindkeysrc\000\000 ¢\016¥Ì\177\000\000\001", '\0' <repeats 15 times>, "\001\000\000\000\000\000\000\000x\223\021¥Ì\177\000\...@Ï/gÿ\177\000\000\bÏ/gÿ\177\000\000\207ð\226|\000\000\000\000ðÎ/g\001\000\000\000 ¢\016¥Ì\177\000\000(X\017¥Ì\177\000\000\020Ï/gÿ\177\000\000ÐT\017¥Ì\177\000\000,lF¢Ì\177\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\0007\177ð¤Ì\177\000\000\001\000\000\000Ì\177\000\000Ø\224\017¥Ì\177\000\000àÍ/gÿ\177\000\000<Lð¤Ì\177\000\000À\223\016¥Ì\177\000\000и\016¥Ì"... i = <value optimized out> show = <value optimized out> (gdb) info registers rax 0x0 0 rbx 0x1bc6e30 29126192 rcx 0x7fff672fc020 140734924570656 rdx 0xfeff7efe662ebf1f -72199437913506017 rsi 0xa 10 rdi 0x1 1 rbp 0x7fff672fbf90 0x7fff672fbf90 rsp 0x7fff672fbe00 0x7fff672fbe00 r8 0xfefefefefefefeff -72340172838076673 r9 0xa0a0a0a0a0a0a0a 723401728380766730 r10 0x7fff672fbb80 140734924569472 r11 0x7fcca24d5600 140516873033216 r12 0x0 0 r13 0x1 1 r14 0x7fff672fc370 140734924571504 r15 0x0 0 rip 0x405648 0x405648 <middle_get_key+120> eflags 0x10202 [ IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 fctrl 0x37f 895 fstat 0x20 32 ftag 0xffff 65535 fiseg 0x7fcc 32716 fioff 0xa3d3a047 -1546411961 foseg 0x7fff 32767 fooff 0x672fa038 1731174456 fop 0x51f 1311 mxcsr 0x1fa0 [ PE IM DM ZM OM UM PM ] (gdb) thread apply all backtrace Thread 1 (Thread 0x7fcca50e8780 (LWP 11445)): #0 middle_get_key (parent=<value optimized out>, data=<value optimized out>) at middle.c:364 #1 0x00007fcca2c9f62e in IA__g_closure_invoke (closure=0x1ae28d0, return_value=0x0, n_param_values=1, param_values=0x1bc7a20, invocation_hint=0x7fff672fc370) at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c:767 #2 0x00007fcca2cb5836 in signal_emit_unlocked_R (node=0x1ad1780, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3247 #3 0x00007fcca2cb6c7e in IA__g_signal_emit_valist (instance=0x1b26100, signal_id=<value optimized out>, detail=0, var_args=0x7fff672fc560) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:2980 #4 0x00007fcca2cb7203 in IA__g_signal_emit (instance=0x1, signal_id=10, detail=1714339615) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3037 #5 0x00007fcca494655a in gtk_button_button_press (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkbutton.c:1579 #6 0x00007fcca4a09a03 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1ab90b0, return_value=0x7fff672fc820, n_param_values=<value optimized out>, param_values=0x1bc4a40, invocation_hint=<value optimized out>, marshal_data=0x7fcca49464f0) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmarshalers.c:84 #7 0x00007fcca2c9f62e in IA__g_closure_invoke (closure=0x1ab90b0, return_value=0x7fff672fc820, n_param_values=2, param_values=0x1bc4a40, invocation_hint=0x7fff672fc7e0) at /build/buildd/glib2.0-2.21.2/gobject/gclosure.c:767 #8 0x00007fcca2cb5508 in signal_emit_unlocked_R (node=0x1abad60, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3285 #9 0x00007fcca2cb6b3e in IA__g_signal_emit_valist (instance=0x1b26100, signal_id=<value optimized out>, detail=0, var_args=0x7fff672fc9d0) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:2990 #10 0x00007fcca2cb7203 in IA__g_signal_emit (instance=0x1, signal_id=10, detail=1714339615) at /build/buildd/glib2.0-2.21.2/gobject/gsignal.c:3037 #11 0x00007fcca4b28bdf in gtk_widget_event_internal (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkwidget.c:4761 #12 0x00007fcca4a009d4 in IA__gtk_propagate_event (widget=0x1b26100, event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:2396 #13 0x00007fcca4a01af3 in IA__gtk_main_do_event (event=0x1b40d60) at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:1601 #14 0x00007fcca465790c in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at /build/buildd/gtk+2.0-2.17.2/gdk/x11/gdkevents-x11.c:2367 #15 0x00007fcca28028fe in IA__g_main_context_dispatch (context=0x1ab8150) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:1814 #16 0x00007fcca2805fd8 in g_main_context_iterate (context=0x1ab8150, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:2445 #17 0x00007fcca2806435 in IA__g_main_loop_run (loop=0x1b76df0) at /build/buildd/glib2.0-2.21.2/glib/gmain.c:2653 #18 0x00007fcca4a02027 in IA__gtk_main () at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:1205 #19 0x0000000000402efa in main (argc=1, argv=0x7fff672fd288) at xbindkeys_config.c:107 (gdb) quit The program is running. Exit anyway? (y or n)