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

            Bug ID: 465441
           Summary: plasmashell leaks memory after each resume (currently
                    around 23 GB) [with heaptrack]
    Classification: Plasma
           Product: plasmashell
           Version: 5.26.5
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: generic-performance
          Assignee: plasma-b...@kde.org
          Reporter: szots...@gmail.com
  Target Milestone: 1.0

Created attachment 156038
  --> https://bugs.kde.org/attachment.cgi?id=156038&action=edit
23 GB leak

Plasmashell, after 3-4 sleep resume cycles, starts leaking memory. In the first
3-4 cycles just some hundred MBs but then after +5 GB, then +15 GB.

Heaptrack shows the following backtrace as one of the culprits:

main in plasmashell
QCoreApplication::exec() in libQt5Core.so.5
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in libQt5Core.so.5
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in
libQt5Core.so.5
g_main_context_iteration in libglib-2.0.so.0
g_main_context_iterate in libglib-2.0.so.0
g_main_context_dispatch in libglib-2.0.so.0
g_main_dispatch in libglib-2.0.so.0
postEventSourceDispatch in libQt5Core.so.5
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in
libQt5Core.so.5
QCoreApplication::notifyInternal2(QObject*, QEvent*) in libQt5Core.so.5
QApplicationPrivate::notify_helper(QObject*, QEvent*) in libQt5Widgets.so.5
QObject::event(QEvent*) in libQt5Core.so.5
PlasmaDesktopTheme::syncWindow() in org.kde.desktop.so
QMetaObject::Connection QObject::connect<void (QQuickWindow::*)(), void
(PlasmaDesktopTheme::*)()>(QtPrivate::FunctionPointer<void
(QQuickWindow::*)()>::Object const*, void (QQuickWindow::*)(),
QtPrivate::FunctionPointer<void (PlasmaDesktopTheme::*)()>::Object const*, void
(PlasmaDesktopTheme::*)(), Qt::ConnectionType) in org.kde.desktop.so
QObject::connectImpl(QObject const*, void**, QObject const*, void**,
QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject
const*) in libQt5Core.so.5
QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**,
QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject
const*) in libQt5Core.so.5

According to it, the leaking line is plasmadesktoptheme.cpp:231:

if (qw) {
    connect(qw, &QQuickWindow::sceneGraphInitialized, this,
&PlasmaDesktopTheme::syncWindow);
}

Heaptrack file:
https://mega.nz/file/lRJFmSCC#olTMN_Kqf8Cv1l2OlKDzZ_lYoQSWkSisL2JGQ_z7j3I

Please, take a look whether you can find other problems, too. Thank you!

Operating System: openSUSE Tumbleweed 20230130
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8
Kernel Version: 6.1.8-1-default (64-bit)
Graphics Platform: X11
Memory: 78.5 GiB of RAM

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

Reply via email to