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

            Bug ID: 522718
           Summary: kwalletd6 leaks memory (4.6GB+ RSS) and ksecretd
                    enters CPU loop in _dbus_type_reader_get_current_type
    Classification: Applications
           Product: kwalletmanager
      Version First unspecified
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

After approximately 3 days of uptime on Plasma 6.7.2, kwalletd6 grows to over
4.6 GB RSS (around 17 GB virtual memory), eventually exhausting swap. At the
same time, ksecretd enters a CPU hot loop, continuously consuming around 30%
CPU and accumulating hours of CPU time.

Steps to Reproduce

1. Start a Plasma 6 session.
2. Use the system normally for 2–3 days.
3. Run applications that access stored credentials (web browsers,
NetworkManager, etc.).
4. Observe kwalletd6 memory usage and ksecretd CPU usage using htop or
ksysguard.

Observed Result

- kwalletd6 continuously increases its memory usage.
- Resident memory eventually exceeds 4.6 GB.
- Virtual memory reaches approximately 17 GB.
- System swap becomes exhausted.
- ksecretd enters a persistent CPU loop (~30% CPU).
- The process accumulates hours of CPU time instead of becoming idle.
- Repeated warnings appear in the logs:
  * QWizard::field: No such field 'key'
  * 0 instead of 1 arguments to message ...
  * Using kwallet without parent window!

Expected Result

- kwalletd6 should not continuously retain allocated memory.
- ksecretd should become idle after processing Secret Service requests.
- Memory usage should remain stable over long uptimes.
- CPU usage should return to approximately 0% when idle.

Software Versions

Distribution: Arch Linux 
Kernel: 7.0.13-zen1-1-zen
KDE Plasma: 6.7.2
Qt Library: 6.11.1 (using QMake version 3.1)
D-Bus Message Broker: dbus-broker 37 (with libdbus-1.so.3 and libQt6DBus.so.6
libraries)
GLib Event Loop: libglib-2.0.so.0 (which hosts the Qt main loop handler where
the leak is idle)

Additional Information

Backtrace:

#0  0x00007fd452295cb8 in _dbus_type_reader_get_current_type () from
/usr/lib/libdbus-1.so.3
#1  0x00007fd452295d70 in _dbus_type_reader_next () from
/usr/lib/libdbus-1.so.3
#2  0x00007fd4522969c9 in ?? () from /usr/lib/libdbus-1.so.3
#3  0x00007fd452295d67 in _dbus_type_reader_next () from
/usr/lib/libdbus-1.so.3
#4  0x00007fd452296040 in ?? () from /usr/lib/libdbus-1.so.3
#5  0x00007fd45229616d in _dbus_header_get_field_raw () from
/usr/lib/libdbus-1.so.3
#6  0x00007fd45229d021 in ?? () from /usr/lib/libdbus-1.so.3
#7  0x00007fd45229e406 in dbus_message_iter_open_container () from
/usr/lib/libdbus-1.so.3
#8  0x00007fd45395dd4e in ?? () from /usr/lib/libQt6DBus.so.6
#9  0x00007fd45395cf1c in ?? () from /usr/lib/libQt6DBus.so.6
#10 0x00007fd4539a0a4f in ?? () from /usr/lib/libQt6DBus.so.6
#11 0x00007fd4539922d4 in ?? () from /usr/lib/libQt6DBus.so.6
#12 0x00007fd45397e08f in ?? () from /usr/lib/libQt6DBus.so.6
#13 0x00007fd45397ede0 in ?? () from /usr/lib/libQt6DBus.so.6
#14 0x00007fd45397fe5a in ?? () from /usr/lib/libQt6DBus.so.6
#15 0x00007fd4533e7d46 in QObject::event(QEvent*) () from
/usr/lib/libQt6Core.so.6
#16 0x00007fd45450411f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt6Widgets.so.6
#17 0x00007fd453383658 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt6Core.so.6
#18 0x00007fd453383a61 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQt6Core.so.6

Relevant Log Messages

ksecretd[1459]: 0 instead of 1 arguments to message "<html><head/><body><..."
supplied before conversion
ksecretd[1459]: QWizard::field: No such field 'key'
ksecretd[1459]: Using kwallet without parent window!

The warnings appear repeatedly while ksecretd is CPU-bound and kwalletd6
continues increasing its memory usage.

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

Reply via email to