Bug 393181 - Baloo uses 100% CPU. Never ending indexing while it is only one file left.
Summary: Baloo uses 100% CPU. Never ending indexing while it is only one file left.
Status: RESOLVED FIXED
Alias: None
Product: frameworks-baloo
Classification: Frameworks and Libraries
Component: Baloo File Daemon (show other bugs)
Version: 5.44.0
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: baloo-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-16 07:27 UTC by Vangelis
Modified: 2018-10-29 08:09 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vangelis 2018-04-16 07:27:44 UTC
`/usr/bin/baloo_file_extractor` is using 100% percent of a single core no matter what.

It seems that it cannot index a file for some unknown reason, but I cannot find which file is this.

Some debug info follows:

$ balooctl status
Baloo File Indexer is running
Indexer state: Indexing file content
Indexed 136960 / 136961 files
Current size of index is 2.25 GiB


The command `qdbus org.kde.baloo /scheduler org.kde.baloo.scheduler.checkUnindexedFiles` returns nothing.

The command `qdbus org.kde.baloo /fileindexer org.kde.baloo.fileindexer.currentFile` returns nothing.


An strace attached on the pid of baloo_file_extractor shows that the brk syscall is repeatedly executed:


$ sudo strace -f -p 11345
strace: Process 11345 attached with 3 threads
[pid 11347] restart_syscall(<... resuming interrupted restart_syscall ...>strace: [ Process PID=11345 runs in x32 mode. ]
 <unfinished ...>
[pid 11346] restart_syscall(<... resuming interrupted poll ...> <unfinished ...>
[pid 11345] brk(0x1a27000)              = 0x1a27000
strace: [ Process PID=11345 runs in 64 bit mode. ]
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] mmap(NULL, 5246976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ef3630be000
[pid 11345] munmap(0x7ef3630be000, 5246976) = 0
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11346] <... restart_syscall resumed> ) = 1
[pid 11346] recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"U\2\216\1\363Fh\0\3\24\4\0\20\0\0\0\0\0\0\24\24\24\24\24\0\0\3\37%\2\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
[pid 11346] write(6, "\1\0\0\0\0\0\0\0", 8) = 8
[pid 11346] poll([{fd=4, events=POLLIN}], 1, -1 <unfinished ...>
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2427000)              = 0x2427000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f27000)              = 0x1f27000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
[pid 11345] brk(0x1a27000)              = 0x1a27000
[pid 11345] brk(0x1f28000)              = 0x1f28000
[pid 11345] brk(0x2428000)              = 0x2428000
Comment 1 Vangelis 2018-04-16 09:32:59 UTC
If I exclude the brk syscall from the strace you can see that basically baloo_file_extractor is only calling `mmap` followed by `munmap` syscalls:

$ sudo strace -p 15018 -f -e \!brk
strace: Process 15018 attached with 3 threads
strace: [ Process PID=15018 runs in x32 mode. ]
[pid 15019] restart_syscall(<... resuming interrupted poll ...> <unfinished ...>
[pid 15020] restart_syscall(<... resuming interrupted restart_syscall ...>strace: [ Process PID=15018 runs in 64 bit mode. ]
 <unfinished ...>
[pid 15018] mmap(NULL, 4874240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a8000
[pid 15018] munmap(0x7fdfd47a8000, 4874240) = 0
[pid 15018] mmap(NULL, 4878336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a7000
[pid 15018] munmap(0x7fdfd47a7000, 4878336) = 0
[pid 15018] mmap(NULL, 4882432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a6000
[pid 15018] mmap(NULL, 4882432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42fe000
[pid 15018] munmap(0x7fdfd47a6000, 4882432) = 0
[pid 15018] munmap(0x7fdfd42fe000, 4882432) = 0
[pid 15018] mmap(NULL, 4886528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a5000
[pid 15018] munmap(0x7fdfd47a5000, 4886528) = 0
[pid 15018] mmap(NULL, 4890624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a4000
[pid 15018] munmap(0x7fdfd47a4000, 4890624) = 0
[pid 15018] mmap(NULL, 4894720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a3000
[pid 15018] munmap(0x7fdfd47a3000, 4894720) = 0
[pid 15018] mmap(NULL, 4898816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a2000
[pid 15018] munmap(0x7fdfd47a2000, 4898816) = 0
[pid 15018] mmap(NULL, 4902912, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a1000
[pid 15018] munmap(0x7fdfd47a1000, 4902912) = 0
[pid 15018] mmap(NULL, 4907008, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd47a0000
[pid 15018] mmap(NULL, 4907008, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42f2000
[pid 15018] munmap(0x7fdfd47a0000, 4907008) = 0
[pid 15018] munmap(0x7fdfd42f2000, 4907008) = 0
[pid 15018] mmap(NULL, 4911104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479f000
[pid 15018] mmap(NULL, 4911104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42f0000
[pid 15018] munmap(0x7fdfd479f000, 4911104) = 0
[pid 15018] munmap(0x7fdfd42f0000, 4911104) = 0
[pid 15018] mmap(NULL, 4915200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479e000
[pid 15018] munmap(0x7fdfd479e000, 4915200) = 0
[pid 15018] mmap(NULL, 4919296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479d000
[pid 15018] munmap(0x7fdfd479d000, 4919296) = 0
[pid 15018] mmap(NULL, 4923392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479c000
[pid 15018] munmap(0x7fdfd479c000, 4923392) = 0
[pid 15018] mmap(NULL, 4927488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479b000
[pid 15018] mmap(NULL, 4927488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42e8000
[pid 15018] munmap(0x7fdfd479b000, 4927488) = 0
[pid 15018] munmap(0x7fdfd42e8000, 4927488) = 0
[pid 15018] mmap(NULL, 4931584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd479a000
[pid 15018] munmap(0x7fdfd479a000, 4931584) = 0
[pid 15018] mmap(NULL, 4935680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4799000
[pid 15018] munmap(0x7fdfd4799000, 4935680) = 0
[pid 15018] mmap(NULL, 4939776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4798000
[pid 15018] munmap(0x7fdfd4798000, 4939776) = 0
[pid 15018] mmap(NULL, 4943872, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4797000
[pid 15018] munmap(0x7fdfd4797000, 4943872) = 0
[pid 15018] mmap(NULL, 4947968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4796000
[pid 15018] munmap(0x7fdfd4796000, 4947968) = 0
[pid 15018] mmap(NULL, 4952064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4795000
[pid 15018] mmap(NULL, 4952064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42dc000
[pid 15018] munmap(0x7fdfd4795000, 4952064) = 0
[pid 15018] munmap(0x7fdfd42dc000, 4952064) = 0
[pid 15018] mmap(NULL, 4956160, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4794000
[pid 15018] mmap(NULL, 4956160, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42da000
[pid 15018] munmap(0x7fdfd4794000, 4956160) = 0
[pid 15018] munmap(0x7fdfd42da000, 4956160) = 0
[pid 15018] mmap(NULL, 4960256, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4793000
[pid 15018] munmap(0x7fdfd4793000, 4960256) = 0
[pid 15018] mmap(NULL, 4964352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4792000
[pid 15018] munmap(0x7fdfd4792000, 4964352) = 0
[pid 15018] mmap(NULL, 4968448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4791000
[pid 15018] munmap(0x7fdfd4791000, 4968448) = 0
[pid 15018] mmap(NULL, 4972544, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4790000
[pid 15018] mmap(NULL, 4972544, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42d2000
[pid 15018] munmap(0x7fdfd4790000, 4972544) = 0
[pid 15018] munmap(0x7fdfd42d2000, 4972544) = 0
[pid 15018] mmap(NULL, 4976640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478f000
[pid 15018] munmap(0x7fdfd478f000, 4976640) = 0
[pid 15018] mmap(NULL, 4980736, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478e000
[pid 15018] munmap(0x7fdfd478e000, 4980736) = 0
[pid 15018] mmap(NULL, 4984832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478d000
[pid 15018] munmap(0x7fdfd478d000, 4984832) = 0
[pid 15018] mmap(NULL, 4988928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478c000
[pid 15018] munmap(0x7fdfd478c000, 4988928) = 0
[pid 15018] mmap(NULL, 4993024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478b000
[pid 15018] munmap(0x7fdfd478b000, 4993024) = 0
[pid 15018] mmap(NULL, 4997120, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd478a000
[pid 15018] mmap(NULL, 4997120, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42c6000
[pid 15018] munmap(0x7fdfd478a000, 4997120) = 0
[pid 15018] munmap(0x7fdfd42c6000, 4997120) = 0
[pid 15018] mmap(NULL, 5001216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4789000
[pid 15018] mmap(NULL, 5001216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42c4000
[pid 15018] munmap(0x7fdfd4789000, 5001216) = 0
[pid 15018] munmap(0x7fdfd42c4000, 5001216) = 0
[pid 15018] mmap(NULL, 5005312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4788000
[pid 15018] munmap(0x7fdfd4788000, 5005312) = 0
[pid 15018] mmap(NULL, 5009408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4787000
[pid 15018] munmap(0x7fdfd4787000, 5009408) = 0
[pid 15018] mmap(NULL, 5013504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4786000
[pid 15018] munmap(0x7fdfd4786000, 5013504) = 0
[pid 15018] mmap(NULL, 5017600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4785000
[pid 15018] mmap(NULL, 5017600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42bc000
[pid 15018] munmap(0x7fdfd4785000, 5017600) = 0
[pid 15018] munmap(0x7fdfd42bc000, 5017600) = 0
[pid 15018] mmap(NULL, 5021696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4784000
[pid 15018] munmap(0x7fdfd4784000, 5021696) = 0
[pid 15018] mmap(NULL, 5025792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4783000
[pid 15018] munmap(0x7fdfd4783000, 5025792) = 0
[pid 15018] mmap(NULL, 5029888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4782000
[pid 15018] munmap(0x7fdfd4782000, 5029888) = 0
[pid 15018] mmap(NULL, 5033984, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4781000
[pid 15018] munmap(0x7fdfd4781000, 5033984) = 0
[pid 15018] mmap(NULL, 5038080, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd4780000
[pid 15018] munmap(0x7fdfd4780000, 5038080) = 0
[pid 15018] mmap(NULL, 5042176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd477f000
[pid 15018] mmap(NULL, 5042176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42b0000
[pid 15018] munmap(0x7fdfd477f000, 5042176) = 0
[pid 15018] munmap(0x7fdfd42b0000, 5042176) = 0
[pid 15018] mmap(NULL, 5046272, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd477e000
[pid 15018] mmap(NULL, 5046272, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd42ae000
[pid 15018] munmap(0x7fdfd477e000, 5046272) = 0
[pid 15018] munmap(0x7fdfd42ae000, 5046272) = 0
[pid 15019] <... restart_syscall resumed> ) = 1
[pid 15019] recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"U\2\216\1\302\331\332\0\3\24\4\0\20\0\0\0\0\0\0\24\24\24\24\24\0\0\3\37%\2\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32
[pid 15019] write(6, "\1\0\0\0\0\0\0\0", 8) = 8
[pid 15019] poll([{fd=4, events=POLLIN}], 1, -1 <unfinished ...>
[pid 15018] mmap(NULL, 5050368, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfd477d000
[pid 15018] munmap(0x7fdfd477d000, 5050368) = 0
^Cstrace: Process 15018 detached
strace: Process 15019 detached
strace: Process 15020 detached
Comment 2 Alexander Mentyu 2018-04-18 08:29:04 UTC
One time 100% CPU on one core for baloo_file_extractor in:

Plasma: 5.12.4
Apps: 17.12.3
Frameworks: 5.45.0
Qt: 5.10.1
Kernel: 4.14.34-1-MANJARO
OS: Netrunner Rolling
Comment 3 Stefan Brüns 2018-05-03 22:37:34 UTC
Git commit f57c4bc27b81f2b40d910d376a0bb531cd8472c6 by Stefan Brüns.
Committed on 03/05/2018 at 22:37.
Pushed by bruns into branch 'master'.

Avoid infinite loops when fetching the URL from DocumentUrlDB

Summary:
Some users apparently have DBs which contain infinite loops in the idTree
(a parentId pointing to itself or one of its children). This manifests in
either crashes due to exhausted memory and/or the process being stuck
with 100% CPU load.

The problem can only be completely solved by either recreating the DB, or
by cleaning the DB from any problematic records. As in interim solution,
stop the code from crashing.
Related: bug 378754, bug 385846, bug 391258

Reviewers: #baloo, michaelh, #frameworks, ngraham

Reviewed By: ngraham

Subscribers: ngraham, #frameworks

Tags: #frameworks, #baloo

Differential Revision: https://phabricator.kde.org/D12335

M  +10   -2    src/engine/documenturldb.cpp

https://commits.kde.org/baloo/f57c4bc27b81f2b40d910d376a0bb531cd8472c6
Comment 4 Stefan Brüns 2018-10-16 19:09:46 UTC
No feedback from reporters. Assumed fixed, see last comment.
Comment 5 Christopher Snowhill 2018-10-28 05:35:27 UTC
If I have this issue, where should I find this database, and where can I send it for debugging? I had to disable indexing on Kubuntu 18.04.1 because they apparently never applied this patch. Maybe it’s applied in 18.10, which I recently installed. I’d still like to know if it’s a corrupt database.