Created attachment 7643 The files I'm using in the example. This is a very common bug but hard to explain. I'm going to add an imgur picture album with screenshots to help show how this works, a backtrace, and a set of sample files so anyone can duplicate it. This is not unique to the current version of Thunar, it has been happening for years (I should have reported it much sooner) and can lead to accidental file deletion or modification. I tried the most recent Gtk3 build a week or two ago and the same bug still existed. My setup is Thunar in Xubuntu, using Icon View. Show Thumbnails is on. Sort Folders Before Files is enabled. Sort order is "Sort by Modification Date." This doesn't seem to happen in Sort by Name view, seems to only happen with Modification sort because the icons sort dynamically and the problem seems to be with Thunar correctly updating the file list after a file is modified. --------------------------- The images for this step-by step are here: https://imgur.com/a/Lf5sC The files used for this step-by-step are attached to this post. 1) Using the files provided in the sample archive, I created a folder called thunartest and copy the sample files to that folder. Refresh and close Thunar. Open Thunar again and navigate to the directory. It should have the following files in the following order: audio-x-adpcm.svg@ audio-x-wav.svg text-plain.svg@ text-x-generic.svg audio-mpeg.svg@ audio-x-mpeg.svg text-x-c.svg text-x-csrc.svg@ application-x-jar.svg application-x-java-archive.svg@ The @ files are links to the files directly above them. I have the Thunar window sized so the last icon on the first line is audio-x-mpeg.svg and the first file on the second line is text-x-c.svg. I don't know if this matters but that's the way it's setup on mine when I reproduce it. 2) Now right click and open audio-x-mpeg.svg with Inkscape. Change the svg in some noticeable way and then Save. At this point the audio-x-mpeg.svg file SHOULD move to the end of the file list. And since audio-mpeg.svg is a link to that file, it should also probably move to the end of the list. But instead, the files display in the following way. audio-x-adpcm.svg@ audio-x-wav.svg text-plain.svg@ text-x-generic.svg audio-mpeg.svg@ text-x-csrc.svg@ application-x-jar.svg application-x-java-archive.svg@ audio-x-mpeg.svg text-x-c.svg 3) While the files are listed this way, and even the icon previews and file names show that they are in this order, they ARE NOT in this order. Right click the file that moved to the end of the list: text-x-c.svg. Open it with Inkscape and you will see that the file is actually audio-x-mpeg.svg. 4) Refresh the view (Ctrl+R or View > Refresh). You would expect, if this is simply a matter of not refreshing, that a refresh would fix the ordering and display. But it doesn't. It actually makes it worse. The files are now ordered in this way: audio-x-adpcm.svg@ audio-x-wav.svg text-plain.svg@ text-x-generic.svg text-x-csrc.svg@ application-x-jar.svg application-x-java-archive.svg@ audio-x-mpeg.svg audio-mpeg.svg text-x-c.svg 5) This is even more confusing. Now if you right click the last file and rename, it is not text-x-c.svg but audio-x-mpeg.svg. And if you right click audio-x-mpeg.svg and try to rename, it is actually application-x-java-archive.svg. 6) At this point trying to delete audio-x-mpeg.svg or even just deleting all the files in the directory will lead to a segfault and Thunar crashes. If you open it back up, the files weren't all deleted. --------------------------- While Refreshing the view doesn't fix this, moving to the parent folder and then back to the thunartest folder does after changing a file does fix the ordering and display. But I've accidentally deleted or modified wrong files many times with this bug. I don't use Thunar often anymore because of this, even though it is my favorite file manager and I would love to use it all the time. --------------------------- Here is the gdb backtrace for doing the exact sequence above and shown in the pictures: Thread 1 "thunar" received signal SIGSEGV, Segmentation fault. 0x00007ffff4e3fc07 in g_type_check_instance_is_fundamentally_a () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (gdb) backtrace #0 0x00007ffff4e3fc07 in g_type_check_instance_is_fundamentally_a () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #1 0x00007ffff4e23e7e in g_value_set_object () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #2 0x00007ffff799dcbe in () at /usr/lib/x86_64-linux-gnu/libexo-1.so.0 #3 0x00007ffff79a1030 in () at /usr/lib/x86_64-linux-gnu/libexo-1.so.0 #4 0x00007ffff79a9511 in () at /usr/lib/x86_64-linux-gnu/libexo-1.so.0 #5 0x00007ffff6a21b7b in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #6 0x00007ffff4e19f6d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007ffff4e2cac8 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007ffff4e34d8f in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #9 0x00007ffff4e35e0f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #10 0x00007ffff6b37f9c in () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #11 0x00007ffff6a20958 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #12 0x00007ffff667cb9f in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #13 0x00007ffff667cb45 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #14 0x00007ffff667cb45 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #15 0x00007ffff6679623 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #16 0x00007ffff6679fb0 in gdk_window_process_all_updates () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #17 0x00007ffff6679ff9 in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #18 0x00007ffff6658c1c in () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #19 0x00007ffff4b3ff85 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007ffff4b40350 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x00007ffff4b40662 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007ffff6a1f727 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #23 0x000055555557733b in () #24 0x00007ffff45161c1 in __libc_start_main (main= 0x555555576f10, argc=1, argv=0x7fffffffe768, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe758) at ../csu/libc-start.c:308 #25 0x000055555557748a in () (gdb) --------------------------- Thanks to anyone who can help with this. And please let me know if there is anything more I can do to help with this, or any information that could help. Thanks again. - Darin
Just a few notes from a little more testing. This happens with Thumbnail Previews on in both Icon View and Compact List view. But never in Detailed List view, even with Thumbnail Previews on. This problem goes away in Icon View and Compact List view if you turn Thumbnail Previews off. - Darin
Thanks for the bugreport ! I can reproduce the bug on thunar master. I'll will check the related code when I have time.
Possibly same bug than described in Bug 12435 and Bug 14173
Created attachment 7647 minimal required files to reproduce bug Attached a minimal zip of 2 png files which as well shows the bug ( no inkscape required )
Found a fix \o/ ... and found out that this bug definitively is a duplicate of 12435 I added a patch there. *** This bug has been marked as a duplicate of bug 12435 ***
Created attachment 7650 minimal required files to reproduce bug