#777151 xfdesktop4: takes 100% cpu during network transfer and keeps doing that forever

Package:
xfdesktop4
Source:
xfdesktop4
Description:
Xfce desktop background, icons and root menu manager
Submitter:
Jurriaan
Date:
2015-02-05 16:15:06 UTC
Severity:
important
#777151#5
Date:
2015-02-05 16:10:37 UTC
From:
To:
*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***
When I start X, xfdesktop is a mostly idle process as I'd expect.
When I transfer a file to my system with ncftp, xfdesktop starts to take 80%-100% cpu.
And it keeps on doing that, for minutes afterwards.
This is a i7-4790K system with 32 GiB memory and a SSD, so that is an insane amount of cpu time.

I can reproduce this - it always happens with file transfers and never happens without.
This is the result of strace -c (started during file transfer and ran for a few minutes afterwards,
ended while xfdesktop was still at 100% cpu):

Process 1337 attached
^CProcess 1337 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 31.89    0.004729           0   4748187   2849261 stat
 15.89    0.002356           0   2847137    949092 open
 15.56    0.002308           0   3796072    949018 access
 12.89    0.001911           0   2847055           lstat
  9.60    0.001423           0   2847076           read
  6.90    0.001024           0   1898044           close
  3.70    0.000548           0    949018           statfs
  3.43    0.000509           0    949025           fstat
  0.15    0.000022           0     27165      1071 futex
  0.00    0.000000           0        73           write
  0.00    0.000000           0       348           poll
  0.00    0.000000           0         5           mmap
  0.00    0.000000           0         5           munmap
  0.00    0.000000           0        10           brk
  0.00    0.000000           0        28           rt_sigprocmask
  0.00    0.000000           0       172           writev
  0.00    0.000000           0       518       343 recvmsg
------ ----------- ----------- --------- --------- ----------------
100.00    0.014830              20909938   4748785 total

grep stat xfdesktop4.log | sort | uniq -c | head -5:

 282003 fstat(10, {st_mode=S_IFREG|0644, st_size=1720, ...}) = 0
 564007 lstat("/home/jurriaan", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
 282003 lstat("/usr/share/icons/default.kde4/32x32/places/user-home.png", {st_mode=S_IFREG|0644, st_size=1720, ...}) = 0
      1 statfs("/home/jurriaan", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=64412515, f_bfree=52782739, f_bavail=49504992, f_files=16375808, f_ffree=16027008, f_fsid={-1009844909, -894125222}, f_namelen=255, f_frsize=4096}) = 0
      2 statfs("/home/jurriaan", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=64412515, f_bfree=52782740, f_bavail=49504993, f_files=16375808, f_ffree=16027008, f_fsid={-1009844909, -894125222}, f_namelen=255, f_frsize=4096}) = 0

grep open xfdesktop4.log | sort | uniq -c | sort -rn | head -5:

 564006 open("/usr/share/icons/default.kde4/32x32/places/user-home.png", O_RDONLY) = 10
 282003 open("/usr/share/icons/default.kde4/32x32/places/user-home.png", O_RDONLY|O_NOATIME) = -1 EPERM (Operation not permitted)
     25 open("/home/.hidden", O_RDONLY)         = -1 ENOENT (No such file or directory)

but that file seems perfectly readable (and I can cat it without problems)

ls -l /usr/share/icons/default.kde4/32x32/places/user-home.png
-rw-r--r-- 1 root root 1720 Apr 26  2011 /usr/share/icons/default.kde4/32x32/places/user-home.png

Kind regards,
Jurriaan

jurriaan_xfdesktopbug <insert AT sign here> onderneming10 . net