User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.2 (like Gecko) Build Identifier: With a badly formed $XDG_DATA_DIRS -- e.g. if the directory does not exist, thunar will crash when a file is selected. Reproducible: Always Steps to Reproduce: 1. open a terminal and type: 2. XDG_DATA_DIRS="this_dir_does_not_exist" thunar 3. select a file Actual Results: (thunar:9888): thunar-vfs-CRITICAL **: thunar_vfs_path_relative: assertion `parent != NULL' failed Only tested on 4.0rc1 x86 Gentoo
Further experimentation reveals that the XDG_DATA_DIRS can be a valid set of directories. My .bash_profile used to have export XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/kde/3.5/share:/usr/local/share/:/usr/share/" so I could take advantage of KDE applications in the XFCE menu. Once I change this line to export XDG_DATA_DIRS="/usr/local/share/:/usr/share/:/usr/kde/3.5/share" Thunar works as normal.
Works for me, except - of course - that GTK+ complains about missing icon themes, etc. Please attach a backtrace of the crash, and try with the latest Thunar from SVN.
Moving to 1.0.0final.
same happens on SVN, with the exo SVN branch. Here is what gdb said: (gdb) run Starting program: /usr/local/bin/thunar [Thread debugging using libthread_db enabled] [New Thread -1220027888 (LWP 12709)] (thunar:12709): Gtk-WARNING **: Could not find the icon 'gnome-mime-application-octet-stream'. The 'hicolor' theme was not found either, perhaps you need to install it. You can get a copy from: http://icon-theme.freedesktop.org/releases [New Thread -1220723808 (LWP 12712)] [New Thread -1229116512 (LWP 12713)] [Thread -1220723808 (LWP 12712) exited] [Thread -1229116512 (LWP 12713) exited] (thunar:12709): thunar-vfs-CRITICAL **: thunar_vfs_path_relative: assertion `parent != NULL' failed Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1220027888 (LWP 12709)] 0xb7f9d3d8 in thunar_vfs_mime_application_new_from_desktop_id () from /usr/lib/libthunar-vfs-1.so.2 (gdb) bt #0 0xb7f9d3d8 in thunar_vfs_mime_application_new_from_desktop_id () from /usr/lib/libthunar-vfs-1.so.2 #1 0xb7f9e919 in thunar_vfs_mime_database_get_applications () from /usr/lib/libthunar-vfs-1.so.2 #2 0x080737d4 in thunar_file_list_get_applications (file_list=0x82cf630) at thunar-file.c:2144 #3 0x0807dbb7 in thunar_launcher_update (launcher=0x815e090) at thunar-launcher.c:824 #4 0x0807ebae in thunar_launcher_set_selected_files (component=0x815e090, selected_files=0x834bba0) at thunar-launcher.c:436 #5 0xb7a9a365 in g_object_set_property () from /usr/lib/libgobject-2.0.so.0 #6 0xb7f540c8 in exo_binding_unbind () from /usr/lib/libexo-0.3.so.0 #7 0xb7f5443e in exo_mutual_binding_new () from /usr/lib/libexo-0.3.so.0 #8 0xb7aa0719 in g_cclosure_marshal_VOID__PARAM () from /usr/lib/libgobject-2.0.so.0 #9 0xb7a93f49 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #10 0xb7aa4171 in g_signal_chain_from_overridden () from /usr/lib/libgobject-2.0.so.0 #11 0xb7aa54b7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #12 0xb7aa5669 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #13 0xb7a983af in g_object_class_override_property () from /usr/lib/libgobject-2.0.so.0 #14 0xb7a94c9f in g_enum_register_static () from /usr/lib/libgobject-2.0.so.0 #15 0x00000001 in ?? () #16 0xbfb9d49c in ?? () #17 0xb7ac3728 in ?? () from /usr/lib/libgobject-2.0.so.0 #18 0x00000001 in ?? () #19 0xbfb9d49c in ?? () #20 0xbfb9d4e8 in ?? () #21 0xb7a9909c in g_object_notify () from /usr/lib/libgobject-2.0.so.0 Previous frame inner to this frame (corrupt stack?) My Comment #1 does not apply anymore -- I think that was my mistake. Sorry I couldn't get gdb to strip debug symbols. HTH - Niel
I think the offending call is in the file ./thunar-vfs/thunar-vfs-mime-application.c on line 145: path = xfce_resource_lookup (XFCE_RESOURCE_DATA, spec); if (G_LIKELY (path != NULL)) It looks like XFCE_RESOURCE_DATA would normally be set at "$XDG_DATA_DIRS/applications". I cannot find the function xfce_resource_lookup in thunar, so that's as far as I can figure it out for the moment.
xfce_resource_lookup() is defined in libxfce4util. Unfortunately your backtrace doesn't specify the exact location of the crash. For some reason your Thunar binary has debug symbols, but not your thunar-vfs library.
Just fyi: works for me. I can not reproduce this with 4.4RC2 (tested with Ubuntu.)
I'm using Gentoo at the moment -- it is not affecting me as long as I've set variables correctly. I'll bring it up on the gentoo bugzilla, when rc1 gets into portage.
Close bug reports of archived products.