Xfce Thunar 1.6.10 still crashes on file renames

Thunar 1.6.10_2 (installed from package):
Code:
root@kg-quiet# pkg info Thunar*
Thunar-1.6.10_2
This machine runs FreeBSD 10.3-release-p11:
Code:
root@kg-quiet# uname -a
FreeBSD kg-quiet.kg4.no 10.3-RELEASE-p11 FreeBSD 10.3-RELEASE-p11 #0: Mon Oct 24 18:49:24 UTC 2016     
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
all additional software (Xorg, Xfce, etc) is installed from official packages. Nothing is installed from source.

The problem is that thunar crashes when I rename files: simply rename a few files in a window, and thunar crashes.
Code:
root@kg-quiet# grep thunar /var/log/messages
Nov 12 20:18:08 kg-quiet kernel: pid 76065 (thunar), uid 1001: exited on signal 11 (core dumped)
Nov 12 20:28:58 kg-quiet kernel: pid 80376 (thunar), uid 1001: exited on signal 11 (core dumped)
I don't understand why, as this package includes the patch that is supposed to fix those crashes.
I ran gdb on the core dump, but since everything is installed from packages, it might not be very interesting:
Code:
tingo@kg-quiet$ gdb thunar thunar.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `thunar'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libthunarx-2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libthunarx-2.so.0
Reading symbols from /usr/local/lib/libexo-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libexo-1.so.0
Reading symbols from /usr/local/lib/libnotify.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libnotify.so.4
Reading symbols from /usr/local/lib/libSM.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libSM.so.6
Reading symbols from /usr/local/lib/libICE.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libICE.so.6
Reading symbols from /usr/local/lib/libxfce4ui-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxfce4ui-1.so.0
Reading symbols from /usr/local/lib/libxfce4util.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxfce4util.so.7
Reading symbols from /usr/local/lib/libxfconf-0.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxfconf-0.so.2
Reading symbols from /usr/local/lib/libdbus-glib-1.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libdbus-glib-1.so.2
Reading symbols from /usr/local/lib/libdbus-1.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libdbus-1.so.3
Reading symbols from /usr/local/lib/libgtk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/local/lib/libgdk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/local/lib/libatk-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libatk-1.0.so.0
Reading symbols from /usr/local/lib/libcairo.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libcairo.so.2
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /usr/local/lib/libgdk_pixbuf-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/local/lib/libgio-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgio-2.0.so.0
Reading symbols from /usr/local/lib/libpango-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpango-1.0.so.0
Reading symbols from /usr/local/lib/libgobject-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgobject-2.0.so.0
Reading symbols from /usr/local/lib/libglib-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.0
Reading symbols from /usr/local/lib/libintl.so.8...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libgmodule-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgmodule-2.0.so.0
Reading symbols from /usr/local/lib/libpangocairo-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpangocairo-1.0.so.0
Reading symbols from /usr/local/lib/libpangoft2-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/local/lib/libfontconfig.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libfontconfig.so.1
Reading symbols from /usr/local/lib/libfreetype.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libfreetype.so.6
Reading symbols from /usr/local/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libX11.so.6
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/libstartup-notification-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libstartup-notification-1.so.0
Reading symbols from /usr/local/lib/libgthread-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgthread-2.0.so.0
Reading symbols from /usr/local/lib/libXrender.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXrender.so.1
Reading symbols from /usr/local/lib/libXinerama.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXinerama.so.1
Reading symbols from /usr/local/lib/libXi.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXi.so.6
Reading symbols from /usr/local/lib/libXrandr.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXrandr.so.2
Reading symbols from /usr/local/lib/libXcursor.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXcursor.so.1
Reading symbols from /usr/local/lib/libXext.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXext.so.6
Reading symbols from /usr/local/lib/libXcomposite.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXcomposite.so.1
Reading symbols from /usr/local/lib/libXdamage.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXdamage.so.1
Reading symbols from /usr/local/lib/libXfixes.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXfixes.so.3
Reading symbols from /usr/local/lib/libpixman-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpixman-1.so.0
Reading symbols from /usr/local/lib/libEGL.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libEGL.so.1
Reading symbols from /usr/local/lib/libpng16.so.16...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpng16.so.16
Reading symbols from /usr/local/lib/libxcb-shm.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-shm.so.0
Reading symbols from /usr/local/lib/libxcb-render.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-render.so.0
Reading symbols from /usr/local/lib/libxcb.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb.so.1
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /usr/local/lib/libGL.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libGL.so.1
Reading symbols from /usr/local/lib/libffi.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libffi.so.6
Reading symbols from /usr/local/lib/libiconv.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libiconv.so.2
Reading symbols from /usr/local/lib/libpcre.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpcre.so.1
Reading symbols from /usr/local/lib/libharfbuzz.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libharfbuzz.so.0
Reading symbols from /usr/local/lib/libexpat.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libexpat.so.1
Reading symbols from /usr/lib/libbz2.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libbz2.so.4
Reading symbols from /usr/local/lib/libxcb-util.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-util.so.1
Reading symbols from /usr/local/lib/libX11-xcb.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libX11-xcb.so.1
Reading symbols from /usr/local/lib/libxcb-dri2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-dri2.so.0
Reading symbols from /usr/local/lib/libxcb-xfixes.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-xfixes.so.0
Reading symbols from /usr/local/lib/libxcb-shape.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-shape.so.0
Reading symbols from /usr/local/lib/libgbm.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgbm.so.1
Reading symbols from /usr/local/lib/libdrm.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libdrm.so.2
Reading symbols from /usr/local/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXau.so.6
Reading symbols from /usr/local/lib/libpthread-stubs.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpthread-stubs.so.0
Reading symbols from /usr/local/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXdmcp.so.6
Reading symbols from /usr/local/lib/libglapi.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libglapi.so.0
Reading symbols from /usr/local/lib/libxcb-glx.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb-glx.so.0
Reading symbols from /usr/local/lib/libXxf86vm.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXxf86vm.so.1
Reading symbols from /usr/local/lib/libgraphite2.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libgraphite2.so.3
Reading symbols from /usr/lib/libc++.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libc++.so.1
Reading symbols from /lib/libcxxrt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcxxrt.so.1
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/local/lib/gio/modules/libgvfsdbus.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/gio/modules/libgvfsdbus.so
Reading symbols from /usr/local/lib/gvfs/libgvfscommon.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/gvfs/libgvfscommon.so
Reading symbols from /lib/libutil.so.9...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.9
Reading symbols from /usr/local/lib/gio/modules/libgioremote-volume-monitor.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/gio/modules/libgioremote-volume-monitor.so
Reading symbols from /usr/local/lib/gtk-2.0/2.10.0/engines/libxfce.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/gtk-2.0/2.10.0/engines/libxfce.so
Reading symbols from /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
Reading symbols from /usr/local/lib/thunarx-2/thunar-uca.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/thunarx-2/thunar-uca.so
Reading symbols from /usr/local/lib/thunarx-2/thunar-wallpaper-plugin.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/thunarx-2/thunar-wallpaper-plugin.so
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0000000803eb67a4 in strcmp () from /lib/libc.so.7
[New Thread 80b370400 (LWP 101081/<unknown>)]
[New Thread 80c445400 (LWP 101080/<unknown>)]
[New Thread 80c040c00 (LWP 101001/<unknown>)]
[New Thread 80b0de400 (LWP 101000/<unknown>)]
[New Thread 80b0de000 (LWP 100969/<unknown>)]
[New Thread 80b006400 (LWP 100143/<unknown>)]
(gdb
and a backtrace
Code:
(gdb) bt
#0  0x0000000803eb67a4 in strcmp () from /lib/libc.so.7
#1  0x000000000043ba0f in ?? ()
#2  0x0000000000448ee0 in ?? ()
#3  0x00000008038cb219 in g_sequence_insert_sorted_iter () from /usr/local/lib/libglib-2.0.so.0
#4  0x00000008038cb0b6 in g_sequence_insert_sorted () from /usr/local/lib/libglib-2.0.so.0
#5  0x000000000044884c in ?? ()
#6  0x000000080362c8c2 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.0
#7  0x000000080364178d in g_signal_emitv () from /usr/local/lib/libgobject-2.0.so.0
#8  0x00000008036424c8 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.0
#9  0x0000000803642c14 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.0
#10 0x000000000043d014 in ?? ()
#11 0x0000000807993c4c in ffi_call_unix64 () from /usr/local/lib/libffi.so.6
#12 0x00000008079931af in ffi_call () from /usr/local/lib/libffi.so.6
#13 0x000000080362e0fc in g_cclosure_marshal_generic_va () from /usr/local/lib/libgobject-2.0.so.0
#14 0x000000080362cb1a in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.0
#15 0x00000008036421a6 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.0
#16 0x0000000803642c14 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.0
#17 0x0000000803164153 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#18 0x00000008038b3458 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#19 0x00000008038b3794 in g_main_context_pending () from /usr/local/lib/libglib-2.0.so.0
#20 0x00000008038b3abf in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
#21 0x0000000801f557cf in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
#22 0x0000000000424f57 in ?? ()
#23 0x0000000000421d5f in ?? ()
#24 0x00000008006cc000 in ?? ()
#25 0x0000000000000000 in ?? ()
(gdb)
Anything else I can do?
 
FWIW, this can be Xfce bug 12264, but it is hard to tell. Also, that bug seems to be a very nasty can of worms that hasn't been fixed yet.
 

tobik@

Developer
I'm wondering if this is related to the old kqueue file monitor bug in glib (PR 199872) that still exists on all BSDs. That one was never properly fixed.
 
No idea about that one. Currently, my workaround is using x11-fm/xfe (installed from a package) to rename files. That works well, Thunar hasn't crashed a single time since I started with xfe. Thunar happily updates the changes in file names, but doesn't crash. I still use Thunar for moving and copying files, and it doesn't crash on those operations.
 
A few weeks ago I tried FreeBSD 11-RELEASE with Mate. I had crashes in Caja (Mate file manager) after visiting a few directories containing multiple files and then removing some or oall of the directories. On 10.x I had Caja freeze or crash if I visited a directory with a lot of files and them remove the files outside of Caja (e.g. in shell using rm). XFE always worked great without any problems but I find it not as convenient as Caja to start different applications based on file type.
 

tobik@

Developer
A few weeks ago I tried FreeBSD 11-RELEASE with Mate. I had crashes in Caja (Mate file manager) after visiting a few directories containing multiple files and then removing some or oall of the directories. On 10.x I had Caja freeze or crash if I visited a directory with a lot of files and them remove the files outside of Caja (e.g. in shell using rm). XFE always worked great without any problems but I find it not as convenient as Caja to start different applications based on file type.
That does sound like the bug described in PR 199872. The fact that Caja crashes when you remove files is at least a hint that it could be a problem with file monitoring. The patch for devel/glib20 in the PR by Vladimir Kondratyev works great for me.
 
Top