Segfault occurs after running "exo-desktop-item-edit -c ~/Desktop" and pressing a key in the window. The actual version of exo is 0.3.102-r1 (as shown on my Gentoo). It seems to be 100% reproducible. A backtrace is shown below. I hope it helps. [Thread debugging using libthread_db enabled] [New Thread 0xb7277710 (LWP 14528)] [New Thread 0xb70f8b90 (LWP 14538)] [New Thread 0xb68f7b90 (LWP 14539)] [Thread 0xb68f7b90 (LWP 14539) exited] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7277710 (LWP 14528)] 0xb7914272 in strstr () from /lib/libc.so.6 Current language: auto; currently asm Thread 2 (Thread 0xb70f8b90 (LWP 14538)): #0 0xb8067424 in __kernel_vsyscall () No symbol table info available. #1 0xb7974436 in access () from /lib/libc.so.6 No locals. #2 0xb7a343d1 in IA__g_file_test (filename=0x81bf4f8 "/usr/bin/kino", test=G_FILE_TEST_IS_EXECUTABLE) at gfileutils.c:270 No locals. #3 0x0804e0d2 in exo_die_command_model_collect_thread (user_data=0x80a2a28) at exo-die-command-model.c:518 name = (const gchar *) 0x80cd3bb "kino" items = (GSList *) 0x81b9a30 lp = <value optimized out> filename = (gchar *) 0x81bf4e8 "kino" paths = (gchar **) 0x80cc9f4 path = (gchar *) 0x81bf4f8 "/usr/bin/kino" dp = (GDir *) 0x80cb168 #4 0xb7a6efef in g_thread_create_proxy (data=0x80cb028) at gthread.c:635 __PRETTY_FUNCTION__ = "g_thread_create_proxy" #5 0xb7b7c5cb in start_thread () from /lib/libpthread.so.0 No symbol table info available. Thread 1 (Thread 0xb7277710 (LWP 14528)): #0 0xb7914272 in strstr () from /lib/libc.so.6 No locals. #1 0xb8088fc4 in ?? () from /lib/ld-linux.so.2 No symbol table info available. #2 0xb8089658 in _r_debug () No symbol table info available. #3 0x00000001 in ?? () No symbol table info available. #4 0x00000005 in ?? () No symbol table info available. #5 0xb8078dde in _dl_fixup () from /lib/ld-linux.so.2 No symbol table info available. #6 0xb8080100 in _dl_runtime_resolve () at ../sysdeps/i386/dl-trampoline.S:37 No locals. #7 0x0804ebaa in exo_die_desktop_model_match_func (completion=0x807a558, key=0x81beaf0 "t", iter=0xbfe8a818, user_data=0x80dec78) at exo-die-desktop-model.c:748 matches = <value optimized out> __PRETTY_FUNCTION__ = "exo_die_desktop_model_match_func" #8 0xb7d10ca5 in gtk_entry_completion_visible_func (model=0x80dec78, iter=0xbfe8a818, data=0x807a558) at gtkentrycompletion.c:817 ret = <value optimized out> #9 0xb7e63cb9 in gtk_tree_model_filter_visible (filter=<value optimized out>, child_iter=0xbfe8a818) at gtktreemodelfilter.c:749 No locals. #10 0xb7e65ed3 in gtk_tree_model_filter_row_changed (c_model=0x80dec78, c_path=0x8156e58, c_iter=0xbfe8a8dc, data=0x807a5c8) at gtktreemodelfilter.c:1194 iter = {stamp = -1075271576, user_data = 0xb7ae1ff4, user_data2 = 0xb7b23800, user_data3 = 0xb7b7f5c0} children = {stamp = 0, user_data = 0xb7ae1ff4, user_data2 = 0xb7b23800, user_data3 = 0xb7b7f5c0} real_c_iter = {stamp = 1153300437, user_data = 0x80e95d8, user_data2 = 0x0, user_data3 = 0x0} path = <value optimized out> elt = <value optimized out> level = <value optimized out> requested_state = <value optimized out> current_state = <value optimized out> free_c_path = 0 __PRETTY_FUNCTION__ = "gtk_tree_model_filter_row_changed" #11 0xb7e664c6 in gtk_tree_model_filter_refilter_helper (model=0x80dec78, path=0x8156e58, iter=0xbfe8a8dc, data=0x807a5c8) at gtktreemodelfilter.c:3313 No locals. #12 0xb7e62728 in gtk_tree_model_foreach_helper (model=0x80dec78, iter=0xbfe8a8dc, path=0x8156e58, func=0xb7e664a0 <gtk_tree_model_filter_refilter_helper>, user_data=0x807a5c8) at gtktreemodel.c:1580 child = {stamp = 135130232, user_data = 0xbfe8a8dc, user_data2 = 0x8156e58, user_data3 = 0xb7ff3ff4} #13 0xb7e62f5b in IA__gtk_tree_model_foreach (model=0x80dec78, func=0xb7e664a0 <gtk_tree_model_filter_refilter_helper>, user_data=0x807a5c8) at gtktreemodel.c:1626 path = <value optimized out> iter = {stamp = 1153300437, user_data = 0x80e95d8, user_data2 = 0x0, user_data3 = 0x0} __PRETTY_FUNCTION__ = "IA__gtk_tree_model_foreach" #14 0xb7e6416c in IA__gtk_tree_model_filter_refilter (filter=0x807a5c8) at gtktreemodelfilter.c:3333 __PRETTY_FUNCTION__ = "IA__gtk_tree_model_filter_refilter" #15 0xb7d11a49 in IA__gtk_entry_completion_complete (completion=0x807a558) at gtkentrycompletion.c:1181 __PRETTY_FUNCTION__ = "IA__gtk_entry_completion_complete" #16 0xb7d0022c in check_completion_callback (completion=0x807a558) at gtkentry.c:9329 No locals. #17 0xb7b08f1a in source_closure_marshal_BOOLEAN__VOID (closure=0x0, return_value=0xbfe8aa1c, n_param_values=0, param_values=0x0, invocation_hint=0x0, marshal_data=0x0) at gsourceclosure.c:84 v_return = <value optimized out> __PRETTY_FUNCTION__ = "source_closure_marshal_BOOLEAN__VOID" #18 0xb7aeecb4 in IA__g_closure_invoke (closure=0x81befa8, return_value=0xbfe8aa1c, n_param_values=0, param_values=0x0, invocation_hint=0x0) at gclosure.c:767 marshal = (GClosureMarshal) 0xb7b08ee0 <source_closure_marshal_BOOLEAN__VOID> marshal_data = (gpointer) 0x0 __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #19 0xb7b08ec0 in source_closure_callback (data=0x81befa8) at gsourceclosure.c:126 result_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}}} result = <value optimized out> #20 0xb7a41431 in g_idle_dispatch (source=0x81be0a0, callback=0, user_data=0x81befa8) at gmain.c:3929 No locals. #21 0xb7a43338 in IA__g_main_context_dispatch (context=0x8079da8) at gmain.c:1824 No locals. #22 0xb7a469eb in g_main_context_iterate (context=0x8079da8, block=1, dispatch=1, self=0x8059048) at gmain.c:2455 max_priority = -100 timeout = 0 some_ready = 1 nfds = 0 allocated_nfds = <value optimized out> fds = (GPollFD *) 0x80981a0 __PRETTY_FUNCTION__ = "g_main_context_iterate" #23 0xb7a46eda in IA__g_main_loop_run (loop=0x81ac7b0) at gmain.c:2663 self = (GThread *) 0x8059048 __PRETTY_FUNCTION__ = "IA__g_main_loop_run" #24 0xb7cfd655 in IA__gtk_dialog_run (dialog=0x8084070) at gtkdialog.c:1090 ri = {dialog = 0x0, response_id = -1, loop = 0x81ac7b0, destroyed = 0} was_modal = 0 response_handler = 154 unmap_handler = 155 destroy_handler = 157 delete_handler = 156 __PRETTY_FUNCTION__ = "IA__gtk_dialog_run" #25 0x08052b21 in main (argc=) at main.c:329 mode = EXO_DIE_EDITOR_MODE_APPLICATION enum_value = <value optimized out> xwindow = <value optimized out> chooser = <value optimized out> message = <value optimized out> button = <value optimized out> dialog = (GtkWidget *) 0x8084070 key_file = (GKeyFile *) 0x80678a0 error = (GError *) 0x0 filename = (gchar *) 0x805f3d8 "Desktop" value = <value optimized out> s = <value optimized out> response = <value optimized out> result = 0 __PRETTY_FUNCTION__ = "main"
I cannot reproduce this and even though you provided a good backtrace (from which it seems to segfault in libc), this is hard to fix. Do you use any fancy compiler flags?
I use flags "-O2 -march=pentium-m -pipe -msse2 -ggdb", link flags "-Wl,-O1", i686-pc-linux-gnu-g++ 4.3.2 and GNU libstdc++ 20080827. Nothing unusual, I suppose.
And, I've just noticed I can't reproduce it anymore, too. But I don't have a clue why. Since the report I only updated a couple of Xfce packages and I use XMonad instead of xfwm.
And maybe a new compilation of libc or glib, because I don't think exo does anything wrong here, all the variables we send to g_file_test seem to be normal. Anyway, if nobody can reproduce this, I'll close the bug, if you have these problems again, please re-open.