[Evolution] Evolution inefficient coding?



Hi,

I have been trying to pin down the cause of my copy of Evolution 2.12.0
on SuSE 10.2 hanging occasionally by running strace evolution from the
command line which prints its system calls.  I noticed that it does
repeated searches of various directories for icons etc - most of which
fail.  Surely it should do it once at startup then remember which icon
files to use instead of doing lots of unnecessary reads as shown below? 

Murray


stat64("/usr/share/icons/gnome", {st_mode=S_IFDIR|0755, st_size=109, ...}) = 0
stat64("/opt/gnome/share/pixmaps/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/pixmaps/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/etc/opt/kde3/share/pixmaps/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/pixmaps/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/local/share/pixmaps/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/gnome/share/icons/gnome", {st_mode=S_IFDIR|0755, st_size=30, ...}) = 0
stat64("/opt/kde3/share/icons/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/etc/opt/kde3/share/icons/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/icons/gnome", {st_mode=S_IFDIR|0755, st_size=109, ...}) = 0
stat64("/usr/local/share/icons/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/home/mtrainer/.local/share/icons/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/home/mtrainer/.icons/gnome", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/home/mtrainer/.icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/home/mtrainer/.local/share/icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/local/share/icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/icons/SphereCrystal", {st_mode=S_IFDIR|0755, st_size=39, ...}) = 0
stat64("/etc/opt/kde3/share/icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/gnome/share/icons/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/local/share/pixmaps/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/pixmaps/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/etc/opt/kde3/share/pixmaps/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/pixmaps/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/gnome/share/pixmaps/SphereCrystal", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/icons/SphereCrystal", {st_mode=S_IFDIR|0755, st_size=39, ...}) = 0
stat64("/home/mtrainer/.icons/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/home/mtrainer/.local/share/icons/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/local/share/icons/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/etc/opt/kde3/share/icons/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=113, ...}) = 0
stat64("/opt/gnome/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local/share/pixmaps/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/pixmaps/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/etc/opt/kde3/share/pixmaps/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/pixmaps/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/gnome/share/pixmaps/hicolor", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/home/mtrainer/.icons", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/home/mtrainer/.local/share/icons", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/local/share/icons", {st_mode=S_IFDIR|0755, st_size=28, ...}) = 0
stat64("/usr/share/icons", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/etc/opt/kde3/share/icons", {st_mode=S_IFDIR|0755, st_size=23, ...}) = 0
stat64("/opt/kde3/share/icons", {st_mode=S_IFDIR|0755, st_size=98, ...}) = 0
stat64("/opt/gnome/share/icons", {st_mode=S_IFDIR|0755, st_size=115, ...}) = 0
stat64("/usr/local/share/pixmaps", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/usr/share/pixmaps", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
stat64("/etc/opt/kde3/share/pixmaps", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/kde3/share/pixmaps", 0xbfcda774) = -1 ENOENT (No such file or directory)
stat64("/opt/gnome/share/pixmaps", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/share/icons", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]