[Xfce-bugs] [Bug 12264] Crash when renaming single file in folder

bugzilla-daemon at xfce.org bugzilla-daemon at xfce.org
Sun Nov 8 06:06:52 CET 2015


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

Dave Witbrodt <dawitbro at sbcglobal.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dawitbro at sbcglobal.net

--- Comment #9 from Dave Witbrodt <dawitbro at sbcglobal.net> ---
(In reply to Harald Judt from comment #1)
> > gdb backtrace attached - it is strange that the
> > thunar_file_compare_by_name() function is called even for only one file in
> > working directory - both file_a->collate_key_nocase and
> > file_b->collate_key_nocase are NULL. I noticed that sometimes this function
> > is not called, but when it is (it is random), then it crashes.
> 
> This is probably related to threading issues and timing-specific. Something
> needs to be protected to avoid being accessed when it shouldn't be. Likely
> the old file is in the process of being destroyed while being compared with
> the new file or something like that.

I have a similar or identical backtrace to the one posted in the original bug
report.  I also cannot rename files without thunar going away on me.

I don't know if it helps at all, but I used gdb to print some extra info from
the last stack frame reached in thunar.  I hope the Xfce team can solve this
soon, because I have to sort out some old backed-up directories and I'm used to
using thunar to do this sort of work!


(gdb) frame 1
#1  0x000055555559188d in thunar_file_compare_by_name (file_a=0x555555d3e390,
file_b=0x555555d2dd00, case_sensitive=<optimized out>) at thunar-file.c:4027
4027        result = strcmp (file_a->collate_key, file_b->collate_key);

(gdb) info frame
Stack level 1, frame at 0x7fffffffd380:
 rip = 0x55555559188d in thunar_file_compare_by_name (thunar-file.c:4027);
saved rip = 0x55555559fd9e
 called by frame at 0x7fffffffd3b0, caller of frame at 0x7fffffffd360
 source language c.
 Arglist at 0x7fffffffd360, args: file_a=0x555555d3e390, file_b=0x555555d2dd00,
case_sensitive=<optimized out>
 Locals at 0x7fffffffd360, Previous frame's sp is 0x7fffffffd380
 Saved registers:
  rbx at 0x7fffffffd368, rbp at 0x7fffffffd370, rip at 0x7fffffffd378

(gdb) print *file_a
$2 = {__parent__ = {g_type_instance = {g_class = 0x55555588d4b0}, ref_count =
3, qdata = 0x555555e1ce80}, info = 0x7fffe00124c0, kind = G_FILE_TYPE_REGULAR,
gfile = 0x555555dfe160, content_type = 0x555555d85050 "image/jpeg", 
  icon_name = 0x0, custom_icon_name = 0x0, display_name = 0x7fffd400b7f0
"p73.jpg", basename = 0x7fffd4011680 "p73.jpg", thumbnail_path = 0x555555e3acc0
"/home/ad/.cache/thumbnails/normal/87903c1cff4c5d32097076c5ddf5686e.png", 
  collate_key = 0x7fffd4009070
"S\001\030\001\t\001\001\001\002:73\001\001\001\001MSJ\001\030\030\030\001\t\t\t",
collate_key_nocase = 0x7fffd4009070
"S\001\030\001\t\001\001\001\002:73\001\001\001\001MSJ\001\030\030\030\001\t\t\t", 
  flags = (THUNAR_FILE_FLAG_THUMB_MASK | THUNAR_FILE_FLAG_IS_MOUNTED)}

(gdb) print *file_b
$3 = {__parent__ = {g_type_instance = {g_class = 0x55555588d4b0}, ref_count =
11, qdata = 0x555555dffd90}, info = 0x0, kind = G_FILE_TYPE_UNKNOWN, gfile =
0x7fffd4010f00, content_type = 0x0, icon_name = 0x0, custom_icon_name = 0x0, 
  display_name = 0x0, basename = 0x0, thumbnail_path = 0x0, collate_key = 0x0,
collate_key_nocase = 0x0, flags = THUNAR_FILE_FLAG_IS_MOUNTED}

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


More information about the Xfce-bugs mailing list