[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