Bug 494566 - kdialog allocates memory endlessly
Summary: kdialog allocates memory endlessly
Status: RESOLVED DUPLICATE of bug 494160
Alias: None
Product: kdialog
Classification: Applications
Component: general (show other bugs)
Version: 23.08.5
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Brad Hards
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-11 20:11 UTC by Márton
Modified: 2024-10-11 22:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
RAM usage of kdialog 1-2 minutes after the dialog open command (3.33 KB, image/png)
2024-10-11 20:11 UTC, Márton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Márton 2024-10-11 20:11:47 UTC
Created attachment 174711 [details]
RAM usage of kdialog 1-2 minutes after the dialog open command

SUMMARY
The kdialog process uses 100% CPU on 1 threads, and allocates memory endlessly, until the memory runs out and the system freezes.

STEPS TO REPRODUCE
1. Do anything in VS Code that would open an open folder dialog (for example, clone a git repo)

OBSERVED RESULT
The dialog doesn't open. Instead, a kdialog process is started, which uses maximum CPU on 1 thread and allocates memory constantly.

EXPECTED RESULT
The dialog should open.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kernel version: 6.8.0-45-generic
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13

ADDITIONAL INFORMATION
I checked the process with strace, and it is constantly calling brk()
Example:
brk(0x586bfb6ea000)                     = 0x586bfb6ea000
brk(0x586bfb70b000)                     = 0x586bfb70b000
brk(0x586bfb72c000)                     = 0x586bfb72c000
brk(0x586bfb74d000)                     = 0x586bfb74d000
brk(0x586bfb76e000)                     = 0x586bfb76e000
brk(0x586bfb78f000)                     = 0x586bfb78f000
brk(0x586bfb7b0000)                     = 0x586bfb7b0000
brk(0x586bfb7d1000)                     = 0x586bfb7d1000
brk(0x586bfb7f2000)                     = 0x586bfb7f2000
brk(0x586bfb813000)                     = 0x586bfb813000
brk(0x586bfb834000)                     = 0x586bfb834000
brk(0x586bfb855000)                     = 0x586bfb855000
brk(0x586bfb876000)                     = 0x586bfb876000
brk(0x586bfb897000)                     = 0x586bfb897000
brk(0x586bfb8b8000)                     = 0x586bfb8b8000
brk(0x586bfb8d9000)                     = 0x586bfb8d9000
brk(0x586bfb8fa000)                     = 0x586bfb8fa000
brk(0x586bfb91b000)                     = 0x586bfb91b000
brk(0x586bfb93c000)                     = 0x586bfb93c000
brk(0x586bfb95d000)                     = 0x586bfb95d000
brk(0x586bfb97e000)                     = 0x586bfb97e000
brk(0x586bfb99f000)                     = 0x586bfb99f000
brk(0x586bfb9c0000)                     = 0x586bfb9c0000
brk(0x586bfb9e1000)                     = 0x586bfb9e1000
brk(0x586bfba02000)                     = 0x586bfba02000
brk(0x586bfba23000)                     = 0x586bfba23000
brk(0x586bfba44000)                     = 0x586bfba44000
brk(0x586bfba65000)                     = 0x586bfba65000
brk(0x586bfba86000)                     = 0x586bfba86000
brk(0x586bfbaa7000)                     = 0x586bfbaa7000
brk(0x586bfbac8000)                     = 0x586bfbac8000
brk(0x586bfbae9000)                     = 0x586bfbae9000
brk(0x586bfbb0a000)                     = 0x586bfbb0a000
brk(0x586bfbb2b000)                     = 0x586bfbb2b000
brk(0x586bfbb4c000)                     = 0x586bfbb4c000
brk(0x586bfbb6d000)                     = 0x586bfbb6d000
brk(0x586bfbb8e000)                     = 0x586bfbb8e000
brk(0x586bfbbaf000)                     = 0x586bfbbaf000
brk(0x586bfbbd0000)                     = 0x586bfbbd0000
brk(0x586bfbbf1000)                     = 0x586bfbbf1000
brk(0x586bfbc12000)                     = 0x586bfbc12000
brk(0x586bfbc33000)                     = 0x586bfbc33000
brk(0x586bfbc54000)                     = 0x586bfbc54000
brk(0x586bfbc75000)                     = 0x586bfbc75000
brk(0x586bfbc96000)                     = 0x586bfbc96000
brk(0x586bfbcb7000)                     = 0x586bfbcb7000
brk(0x586bfbcd8000)                     = 0x586bfbcd8000
brk(0x586bfbcf9000)                     = 0x586bfbcf9000
brk(0x586bfbd1a000)                     = 0x586bfbd1a000
brk(0x586bfbd3b000)                     = 0x586bfbd3b000
brk(0x586bfbd5c000)                     = 0x586bfbd5c000
brk(0x586bfbd7d000)                     = 0x586bfbd7d000
brk(0x586bfbd9e000)                     = 0x586bfbd9e000
brk(0x586bfbdbf000)                     = 0x586bfbdbf000
brk(0x586bfbde0000)                     = 0x586bfbde0000
brk(0x586bfbe01000)                     = 0x586bfbe01000
brk(0x586bfbe22000)                     = 0x586bfbe22000
brk(0x586bfbe43000)                     = 0x586bfbe43000
brk(0x586bfbe64000)                     = 0x586bfbe64000

Stack trace (from gdb):
#0  0x00007ab5bc93759a in qstrcmp(QByteArray const&, char const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ab5bcbbc22c in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ab5bcbafbe7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ab5bcbb0322 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ab5bc3d0f2a in KBuildSycoca::recreate(bool) () from /lib/x86_64-linux-gnu/libKF5Service.so.5
#5  0x00007ab5bc3bd9a0 in KSycocaPrivate::buildSycoca() () from /lib/x86_64-linux-gnu/libKF5Service.so.5
#6  0x00007ab5bc3bdb8d in KSycocaPrivate::checkDatabase(QFlags<KSycocaPrivate::BehaviorIfNotFound>) ()
   from /lib/x86_64-linux-gnu/libKF5Service.so.5
#7  0x00007ab5bc3bed72 in KSycoca::ensureCacheValid() () from /lib/x86_64-linux-gnu/libKF5Service.so.5
#8  0x00007ab5bc3b685a in KServiceTypeTrader::defaultOffers(QString const&, QString const&) const ()
   from /lib/x86_64-linux-gnu/libKF5Service.so.5
#9  0x00007ab5bc3b6a61 in KServiceTypeTrader::query(QString const&, QString const&) const ()
   from /lib/x86_64-linux-gnu/libKF5Service.so.5
#10 0x00007ab5b7c4590e in ?? () from /lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#11 0x00007ab5b7c3e87a in KIO::PreviewJob::supportedMimeTypes() ()
   from /lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#12 0x00007ab5b7d4c03d in ?? () from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#13 0x00007ab5b7d531d9 in KDirOperator::checkPreviewSupport() ()
   from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#14 0x00007ab5b7d72159 in KFileWidget::setFilter(QString const&) ()
   from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#15 0x00007ab5b8724ee2 in ?? ()
   from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
#16 0x00007ab5b872c190 in ?? ()
   from /usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme.so
#17 0x00007ab5bdb89bb8 in QDialogPrivate::setNativeDialogVisible(bool) ()
   from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ab5bdb9f4cf in QFileDialog::setVisible(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ab5bdb8ad69 in QDialog::exec() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x000064f785471084 in ?? ()
#21 0x00007ab5bc02a1ca in __libc_start_call_main (main=main@entry=0x64f78546b700, argc=argc@entry=5, 
    argv=argv@entry=0x7ffc511b30d8) at ../sysdeps/nptl/libc_start_call_main.h:58
#22 0x00007ab5bc02a28b in __libc_start_main_impl (main=0x64f78546b700, argc=5, argv=0x7ffc511b30d8, 
--Type <RET> for more, q to quit, c to continue without paging--
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc511b30c8)
    at ../csu/libc-start.c:360
#23 0x000064f785472725 in ?? ()
Comment 1 Márton 2024-10-11 20:18:38 UTC
VS Code reports the following error in the Main output view:
2024-10-11 22:16:01.499 [error] [DialogMainService]: file open dialog is already or will be showing for the window with the same configuration

(Of course every time i try to open the dialog)
Comment 2 Márton 2024-10-11 20:23:15 UTC
I've found a Github issue reported in the VS Code repo

https://github.com/microsoft/vscode/issues/230679
Comment 3 Nicolas Fella 2024-10-11 22:50:46 UTC

*** This bug has been marked as a duplicate of bug 494160 ***