I need to debug kded6 daemon process with Valgrind (https://bugs.kde.org/show_bug.cgi?id=522489). So far, Valgrind or kded6 via CLI seem to work, but not both of them together. To clarify, I always shutdown kded6 with systemctl --user stop plasma-kded6.service and kill $(pidof kded6).
plasma-kded6.service starts kded6 by using the full path /usr/bin/kded6, with no arguments.
If I start kded6, it works just like it’s supposed to do, like a daemon.
However, if I run valgrind --trace-children=yes --track-origins=yes kded6 it exits immediately, without user input. Since I’m trying to debug a failure on user event, I need it to persist for some extra time.
❯ kded6
org.kde.libkbolt: Failed to connect to Bolt manager DBus interface:
org.kde.bolt.kded: Couldn't connect to Bolt DBus daemon
kf.modemmanagerqt: Failed enumerating MM objects: "org.freedesktop.DBus.Error.NameHasNoOwner"
"Could not activate remote peer 'org.freedesktop.ModemManager1': activation request failed: unknown unit"
xsettingsd: Reloading configuration
xsettingsd: Loaded 16 settings from /home/echedey/.config/xsettingsd/xsettingsd.conf
kf.bluezqt: PendingCall Error: "Failed"
^C⏎
~ 8s
❯ valgrind --log-file=/tmp/debug.log --trace-children=yes --track-origins=yes kded6
kded6: CPU ISA level is lower than required
~
❯ cat /tmp/debug.log
==14530== Memcheck, a memory error detector
==14530== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==14530== Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright info
==14530== Command: kded6
==14530== Parent PID: 3231
==14530==
==14530==
==14530== HEAP SUMMARY:
==14530== in use at exit: 0 bytes in 0 blocks
==14530== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==14530==
==14530== All heap blocks were freed -- no leaks are possible
==14530==
==14530== For lists of detected and suppressed errors, rerun with: -s
==14530== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
I don’t know why this happens nor how to disable this behavior. TIA. I’m happy to provide further information if needed.