This forum has been archived. All content is frozen. Please use KDE Discuss instead.

baloo_file_extractor loops on empty file and takes 100% CPU

Tags: None
(comma "," separated)
pivert
Registered Member
Posts
7
Karma
0
Hi,

This is for several months now that I have this persistant problem.
I've been around in the forums, and did not find any way to fix it. While hundreds of people seems to have such a problem, this one might be a bit different.

Symptoms:
- /usr/bin/baloo_file_extractor takes 100% of one core.
- It does not crash & restart, as it keeps the same PID, nothing in kern.log
- I disabled it in the ~/.config/baloofilerc file with the "Indexing-Enabled=false" in the [Basic settings] section, but it still starts at boot, and takes all CPU.
- "balooctl disable" command line has no effect.
- I had the problem from kubuntu 16.04, and upgrade to 16.10 did not fix it.
- Reset of the user did not help.
- An strace -p <pid> shows the following at incredible rate. It seems that it loops trying to open an empty filename:

poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\224\tZ\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
write(8, "\1\0\0\0\0\0\0\0", 8) = 8
write(1, "B\n", 2) = 2
poll([{fd=0, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 6, -1) = 1 ([{fd=0, revents=POLLIN}])
read(0, "(\0\0\0", 4) = 4
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0v\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\205\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\220\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\224\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\227\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\244\1Z\0", 8) = 8
stat64("", 0xbfee3dac) = -1 ENOENT (No such file or directory)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLPRI}], 5, 0) = 0 (Timeout)
read(0, "\1\10\0\0\276\1Z\0", 8) = 8


The only specials about my setup is that I use some extra tmpfs for some folders, since I have a lot of RAM, and prefer to save SSD from some writes:

# mount | grep tmpfs
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3840888k,nr_inodes=194728,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=772368k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /tmp type tmpfs (rw,relatime,size=1048576k)
tmpfs on /home/pivertd/.cache type tmpfs (rw,relatime,size=1048576k)
tmpfs on /var/log type tmpfs (rw,nosuid,nodev,noatime,size=386184k,mode=755)
tmpfs on /var/cache/apt/archives type tmpfs (rw,relatime,size=4194304k)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=772368k,mode=700,uid=1000,gid=1000)
root@ws:~/tmp#

Did someone experience a similar problem?
ozone
Registered Member
Posts
14
Karma
0
As far as disabling goes: Can you check baloo_file.desktop in /usr/share/autostart or /etc/xdg/autostart (or wherever your system-wide autostart folder is)? There should be a line:

X-KDE-autostart-condition=baloofilerc:Basic Settings:Indexing-Enabled:true
for Plasma5 or
X-KDE-autostart-condition=baloofilerc:Basic Settings:Enabled:true
for Plasma4.

If it's not there, it explains why settings in baloofilerc are not respected, and you can easily fix it by just correcting/pasting the corresponding line.
If there is such a line in baloo_file.desktop, something could be wrong with your baloofilerc.

The next step would be then to stop Baloo and rename baloofilerc (for backup). Next time Baloo runs, it will create a fresh and proper baloofilerc, and disabling Baloo should be possible again.

If everything fails, it might be a problem of ksmserver. As a workaround, it should be possible to disable Baloo by copying baloo_file.desktop to the autostart folder in your home directory, and then commenting out Exec=baloo_file.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]