https://bugs.kde.org/show_bug.cgi?id=462202
Bug ID: 462202 Summary: Massive VRAM leak when using tab switcher visualization with kwin_x11 Classification: Plasma Product: kwin Version: 5.26.3 Platform: Fedora RPMs OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: tabbox Assignee: kwin-bugs-n...@kde.org Reporter: psb...@palant.de Target Milestone: --- Created attachment 153993 --> https://bugs.kde.org/attachment.cgi?id=153993&action=edit Minimized problematic source code This is a spin-off from bug 455193, just in case the root issue is a different one. STEPS TO REPRODUCE 1. Open top in a console 2. Select “Grid” as your tab switcher visualization (other visualizations create smaller windows, resulting in a smaller leak) 3. Press Alt-Tab a bunch of times OBSERVED RESULT Each time the tab switcher visualization shows up, top shows “buff/cache” value go up by ~40 MB, “avail Mem” value goes down by the same amount. /proc/sys/vm/drop_caches has no effect. Eventually the entire RAM gets filled up and the system becomes unresponsive. Restarting kwin_x11 releases all the memory hoarded here. As indicated in bug 455193, disabling composition by means of QT_XCB_GL_INTEGRATION=xcb_egl makes this leak go away. EXPECTED RESULT Memory usage should stay stable. SOFTWARE/OS VERSIONS Linux: Fedora Linux 37 (didn’t happen with Fedora 36) KDE Plasma Version: 5.26.3 KDE Frameworks Version: 5.100.0 Qt Version: 5.15.7 CPU: Intel i7-1165G7 (built-in graphics used, Nvidia GeForce present but inactive) ADDITIONAL INFORMATION I took the source code of tabboxhandler.cpp and produced a reduced test case. The leak is caused by the mere act of showing a PlasmaCore.Dialog via QML. So the root issue is likely not in KDE but I didn’t manage to narrow it down further so far. Unpack the attached source code to a directory. Run the following command to compile (qt5-qtdeclarative-devel package required): cmake . && make It will produce an executable called test. When you run it, it will show an empty dialog window and hide it again repeatedly. Each such cycle leaks close to 100 MB of memory, similarly to how task switcher visualization would do it. As with the task switcher visualization, the way to get this memory back is restarting kwin_x11 (killing the application is not sufficient). -- You are receiving this mail because: You are watching all bug changes.