https://bugs.kde.org/show_bug.cgi?id=433204

Wouter Haffmans <wou...@simply-life.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wou...@simply-life.net

--- Comment #37 from Wouter Haffmans <wou...@simply-life.net> ---
I'm getting the same issue still on ArchLinux (baloo 5.99.0-1) with an infinite
loop at WriteTransaction::removeRecursively.

Running "gdb /usr/lib/baloo_file", the crash seems to happen when the stack is
full of identical frames:

#16 0x00007ffff7e0bfc5 in Baloo::WriteTransaction::removeRecursively(unsigned
long long, std::function<bool (unsigned long long)> const&)
(this=0x7fbfdc004df0, parentId=36028801313933346, shouldDelete=...)
    at /usr/src/debug/baloo-5.99.0/src/engine/writetransaction.cpp:167
#17 0x00007ffff7e0bfc5 in Baloo::WriteTransaction::removeRecursively(unsigned
long long, std::function<bool (unsigned long long)> const&)
(this=0x7fbfdc004df0, parentId=36028801313933346, shouldDelete=...)
    at /usr/src/debug/baloo-5.99.0/src/engine/writetransaction.cpp:167
#18 0x00007ffff7e0bfc5 in Baloo::WriteTransaction::removeRecursively(unsigned
long long, std::function<bool (unsigned long long)> const&)
(this=0x7fbfdc004df0, parentId=36028801313933346, shouldDelete=...)
    at /usr/src/debug/baloo-5.99.0/src/engine/writetransaction.cpp:167

It looks like this entry in particular (parentId=36028801313933346) has a child
with the same id. Gdb confirms this is the first entry in the list:

(gdb) frame 1071
#1071 0x00007ffff7e0bfc5 in Baloo::WriteTransaction::removeRecursively(unsigned
long long, std::function<bool (unsigned long long)> const&)
(this=0x7fbfdc004df0, parentId=36028801313933346, shouldDelete=...)
    at /usr/src/debug/baloo-5.99.0/src/engine/writetransaction.cpp:167
(gdb) print parentId
$1 = 36028801313933346
(gdb) print reinterpret_cast<quint64*>((reinterpret_cast<const
char*>(children.d)+children.d->offset))[0]
$2 = 36028801313933346

Looks to me like a parent that has itself as a child (from
"docUrlDb.getChildren(parentId)") causes the infinite recursion, resulting in a
stack overflow (i.e. segfault).

Software/OS versions:
Operating System: Arch Linux
KDE Plasma Version: 5.26.2
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Kernel Version: 6.0.6-arch1-1 (64-bit)
Graphics Platform: X11

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to