[Xfce-bugs] [Bug 14288] New: Thunar Sort by Modification Date displays modified files incorrectly

bugzilla-daemon at xfce.org bugzilla-daemon at xfce.org
Sun Mar 18 11:52:09 CET 2018


https://bugzilla.xfce.org/show_bug.cgi?id=14288

            Bug ID: 14288
           Summary: Thunar Sort by Modification Date displays modified
                    files incorrectly
    Classification: Xfce Core
           Product: Thunar
           Version: 1.6.10
          Hardware: PC (x86_64)
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Medium
         Component: Core
          Assignee: xfce-bugs at xfce.org
          Reporter: newhoa at protonmail.com
                CC: benny at xfce.org, hjudt at xfce.org
  Target Milestone: 1.8.0

Created attachment 7643
  --> https://bugzilla.xfce.org/attachment.cgi?id=7643&action=edit
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

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Xfce-bugs mailing list