! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Bad $XDG_DATA_DIRS crashes thunar on file select
Status:
RESOLVED: WONTFIX
Product:
Thunar-vfs
Component:
General

Comments

Description Niel Drummond 2006-10-29 10:05:30 CET
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
Comment 1 Niel Drummond 2006-10-29 12:37:58 CET
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.
Comment 2 Benedikt Meurer editbugs 2006-11-03 18:44:57 CET
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.
Comment 3 Benedikt Meurer editbugs 2006-11-04 19:48:34 CET
Moving to 1.0.0final.
Comment 4 Niel Drummond 2006-11-04 22:58:48 CET
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
Comment 5 Niel Drummond 2006-11-05 10:31:01 CET
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.
Comment 6 Benedikt Meurer editbugs 2006-11-05 21:05:43 CET
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.
Comment 7 juha editbugs 2006-11-13 09:16:35 CET
Just fyi: works for me. I can not reproduce this with 4.4RC2
(tested with Ubuntu.)
Comment 8 Niel Drummond 2006-11-14 08:56:44 CET
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.
Comment 9 Nick Schermer editbugs 2014-12-03 09:18:53 CET
Close bug reports of archived products.

Bug #2479

Reported by:
Niel Drummond
Reported on: 2006-10-29
Last modified on: 2014-12-03

People

Assignee:
Jannis Pohlmann
CC List:
1 user

Version

Version:
unspecified

Attachments

Additional information