Bug 52569

Summary: Долгое открытие каталогов и файлов, подвисание после закрытия диалога выбора файла
Product: Branch p10 Reporter: Rurewa <rurewa>
Component: kde5-kdialogAssignee: Sergey V Turchin <zerg>
Status: UNCONFIRMED --- QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: amakeenk, zerg
Version: не указана   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Информация для разработчиков
none
Ещё информация о сбое none

Description Rurewa 2024-12-27 15:53:04 MSK
ALT Workstation K 10.4, Plasma 5.27.11, KWin, Display: x11 server: X.Org,  CPU: Intel i7-8550U (8) @ 4.000GHz, GPU: Intel UHD Graphics 620, Memory: 15781MiB. 

Обновляюсь регулярно. Совсем недавно заметил, что стали долго открываться файлы и папки в следующих приложениях: Kwrite, Kate, VLC, Telegram, VSCode. А после закрытия диалога выбора файла и папок происходит минутное подвисание. 
Та же проблема мною обнаружена и на ОС Аль Образование 10 K. - там компьютер слабее и памяти меньше, и возможно поэтому происходит аварийное закрытие kdialog. Правда эта проблема проявляется не на всех компьютерах - у меня их больше десятка и все они разные.
 
Не факт, что проблема в Kdialog. Пока не понятно, в чём дело, поскольку на том же компьютере но в сеансе другого пользователя, тоже c KDE, всё в порядке и никаких проблем. Настройки KDE чистил полностью - не помогло.

Представлю любые логи, которые попросите.
Comment 1 Sergey V Turchin 2024-12-27 16:29:44 MSK
* ~/.autofs.shares случайно не заполнен?
* в закладках файлового диалога могут быть какие-то адреса проблемные быть

Поведение похоже на то, что диалог обращается к какому-то дисковому ресурсу(несуществующему или медленному или глючному), на чём тормозит.
Comment 2 Rurewa 2024-12-28 07:55:21 MSK
~/.autofs.shares такой папки у себя не нашел. Отключил два внешних диска - не помогло.
Удалил у себя один неиспользуемый локальный сетевой ресурс () и Kwriter вообще вылетел после попытки открыть документ с ошибкой:

Application: KWrite (kwrite), signal: Aborted

[KCrash Handler]
#4  0x00007f480ec64451 in raise () from /lib64/libc.so.6
#5  0x00007f480ec4d548 in abort () from /lib64/libc.so.6
#6  0x00007f480daa1861 in ?? () from /usr/lib64/libstdc++.so.6
#7  0x00007f480dacfb68 in ?? () from /usr/lib64/libstdc++.so.6
#8  0x00007f480dacfbd3 in std::terminate() () from /usr/lib64/libstdc++.so.6
#9  0x00007f480dacfe64 in __cxa_throw () from /usr/lib64/libstdc++.so.6
#10 0x00007f480eead457 in qBadAlloc() () from /usr/lib64/libQt5Core.so.5
#11 0x00007f480eeb1188 in ?? () from /usr/lib64/libQt5Core.so.5
#12 0x00007f480f049429 in ?? () from /usr/lib64/libQt5Core.so.5
#13 0x00007f480f051766 in ?? () from /usr/lib64/libQt5Core.so.5
#14 0x00007f480f0524fa in ?? () from /usr/lib64/libQt5Core.so.5
#15 0x00007f480f052d3b in ?? () from /usr/lib64/libQt5Core.so.5
#16 0x00007f480f053090 in ?? () from /usr/lib64/libQt5Core.so.5
#17 0x00007f480f05363d in QSettings::QSettings(QSettings::Scope, QString const&, QString const&, QObject*) () from /usr/lib64/libQt5Core.so.5
#18 0x00007f480ffad555 in QFileDialogPrivate::restoreFromSettings() () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007f480ffaf4b3 in QFileDialogPrivate::init(QFileDialogArgs const&) () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007f480ffb036d in QFileDialog::QFileDialog(QFileDialogArgs const&) () from /usr/lib64/libQt5Widgets.so.5
#21 0x00007f480ffb0842 in QFileDialog::getOpenFileUrls(QWidget*, QString const&, QUrl const&, QString const&, QString*, QFlags<QFileDialog::Option>, QStringList const&) () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007f4810432d9c in KateViewManager::slotDocumentOpen() () from /usr/lib64/libkateprivate.so.5
#23 0x00007f480f1052f8 in ?? () from /usr/lib64/libQt5Core.so.5
#24 0x00007f480fd86252 in QAction::triggered(bool) () from /usr/lib64/libQt5Widgets.so.5
#25 0x00007f480fd88e88 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQt5Widgets.so.5
#26 0x00007f480fe838ca in ?? () from /usr/lib64/libQt5Widgets.so.5
#27 0x00007f480fe83a21 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#28 0x00007f480ff7eb9a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#29 0x00007f480fdcf09e in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#30 0x00007f480fd8cbaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#31 0x00007f480fd941ab in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#32 0x00007f480f0ce6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#33 0x00007f480fd931e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#34 0x00007f480fde8587 in ?? () from /usr/lib64/libQt5Widgets.so.5
#35 0x00007f480fdeb8b5 in ?? () from /usr/lib64/libQt5Widgets.so.5
#36 0x00007f480fd8cbaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#37 0x00007f480f0ce6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#38 0x00007f480f566eb3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#39 0x00007f480f53b10c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#40 0x00007f48094f72aa in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#41 0x00007f480cf316bb in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#42 0x00007f480cf31968 in ?? () from /lib64/libglib-2.0.so.0
#43 0x00007f480cf31a1f in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#44 0x00007f480f126390 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#45 0x00007f480f0cd0fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#46 0x00007f480f0d5340 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#47 0x000055bbe81b9af6 in ?? ()
#48 0x00007f480ec4eefd in __libc_start_main () from /lib64/libc.so.6
#49 0x000055bbe81b9bea in ?? ()
[Inferior 1 (process 5179) detached]

Правда повторный запуск Kwriter уже не вылетает, а работает так же плохо - долго открывает документ и подвисает после закрытия диалогового окна выбора.
Comment 3 Rurewa 2024-12-28 08:48:11 MSK
В логе, во время открытия файла из Kwriter это:

kwin_x11[3479]: kwin_core: XCB error: 152 (BadDamage), sequence: 1556, resource id: 14865572, major code: 143 (DAMAGE), minor code: 3 (Subtract)
Comment 4 Rurewa 2024-12-28 09:20:43 MSK
А это лог во время краша Kwriter

дек 28 09:18:44 host-251 plasmashell[7257]: terminate called after throwing an instance of 'std::bad_alloc'
дек 28 09:18:44 host-251 plasmashell[7257]:   what():  std::bad_alloc
дек 28 09:18:44 host-251 plasmashell[7257]: KCrash: Application 'kwrite' crashing...
дек 28 09:18:44 host-251 plasmashell[7257]: KCrash: Attempting to start /usr/libexec/kf5/drkonqi
дек 28 09:18:44 host-251 plasmashell[3565]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x56143f8c5740) QQmlContext(0x56143be03190) QUrl("file:///usr/share/kf5/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
дек 28 09:18:44 host-251 plasmashell[3565]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x56143f8c5740) QQmlContext(0x56143be03190) QUrl("file:///usr/share/kf5/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
дек 28 09:18:44 host-251 plasmashell[3565]: QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
Comment 5 Sergey V Turchin 2024-12-28 10:48:44 MSK
(Ответ для Rurewa на комментарий #4)
> А это лог во время краша Kwriter
Надо backtrace приложить, который делается сам в диалоге отчёта об ошибке.
Если не установлен kde5-kwrite-debuginfo, то нужно подключение к интернет, чтоб через https://debuginfod.altlinux.org/ всю инфу получил.
Comment 6 Rurewa 2024-12-28 14:09:33 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> (Ответ для Rurewa на комментарий #4)
> > А это лог во время краша Kwriter
> Надо backtrace приложить, который делается сам в диалоге отчёта об ошибке.
> Если не установлен kde5-kwrite-debuginfo, то нужно подключение к интернет,
> чтоб через https://debuginfod.altlinux.org/ всю инфу получил.

Хорошо, когда крашница kdialog ещё раз, постараюсь сохранить файл. Заметил интересную взаимосвязь - крашится при связанном устройстве (телефон) KDEConnect. Сейчас удалил KDEConnect, крашится перестало, но открытие диалогового окна выбора файлов или папок так же долгое и после его закрытия минутное подвисание не только в KWriter, но и во многих других прогах - в KolourPaint, например.
Comment 7 Rurewa 2025-01-03 07:17:23 MSK
Created attachment 17491 [details]
Информация для разработчиков

Информация о сбое
Comment 8 Rurewa 2025-01-03 07:18:24 MSK
Created attachment 17492 [details]
Ещё информация о сбое

Ещё информация о сбое
Comment 9 Rurewa 2025-01-03 12:11:37 MSK
strace при закрытии kdialog показывает много таких записей:

mremap(0x7fd169ff9000, 738070528, 738074624, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738074624, 738078720, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738078720, 738082816, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738082816, 738086912, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738086912, 738091008, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738091008, 738095104, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738095104, 738099200, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738099200, 738103296, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738103296, 738107392, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738107392, 738111488, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738111488, 738115584, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738115584, 738119680, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738119680, 738123776, MREMAP_MAYMOVE) = 0x7fd169ff9000
mremap(0x7fd169ff9000, 738123776, 738127872, MREMAP_MAYMOVE) = 0x7fd169
Comment 10 Sergey V Turchin 2025-01-09 16:05:03 MSK
(Ответ для Rurewa на комментарий #7)
> Информация о сбое
Что-то отладочная информация не подцепилась.

Попробуйте запустить
DEBUGINFOD_URLS=https://debuginfod.altlinux.org/ gdb --init-eval-command='set debuginfod enabled on'  программа
run
Дождитесь падения.
bt
Скопируйте текст.
Comment 11 Rurewa 2025-01-15 08:28:33 MSK
(Ответ для Sergey V Turchin на комментарий #10)
> (Ответ для Rurewa на комментарий #7)
> > Информация о сбое
> Что-то отладочная информация не подцепилась.
> 
> Попробуйте запустить
> DEBUGINFOD_URLS=https://debuginfod.altlinux.org/ gdb
> --init-eval-command='set debuginfod enabled on'  программа
> run
> Дождитесь падения.
> bt
> Скопируйте текст.

DEBUGINFOD_URLS=https://debuginfod.altlinux.org/ gdb --init-eval-command='set debuginfod enabled on' kde5-kwrite run

Missing separate debuginfo for /usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so
Try to install the hash file /usr/lib/debug/.build-id/3f/c915806ecb862dd0c7a88d9d32d9c3ec526ae7.debug
Downloading separate debug info for /usr/lib64/libxcb-res.so.0...
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Thread 1 "kwrite" received signal SIGABRT, Aborted.
0x00007ffff6664451 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff6664451 in raise () from /lib64/libc.so.6
#1  0x00007ffff664d548 in abort () from /lib64/libc.so.6
#2  0x00007ffff54a1861 in ?? () from /usr/lib64/libstdc++.so.6
#3  0x00007ffff54cfb68 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00007ffff54cfbd3 in std::terminate() () from /usr/lib64/libstdc++.so.6
#5  0x00007ffff54cfe64 in __cxa_throw () from /usr/lib64/libstdc++.so.6
#6  0x00007ffff68ad457 in qBadAlloc() () from /usr/lib64/libQt5Core.so.5
#7  0x00007ffff68b1188 in ?? () from /usr/lib64/libQt5Core.so.5
#8  0x00007ffff6a49429 in ?? () from /usr/lib64/libQt5Core.so.5
#9  0x00007ffff6a51766 in ?? () from /usr/lib64/libQt5Core.so.5
#10 0x00007ffff6a524fa in ?? () from /usr/lib64/libQt5Core.so.5
#11 0x00007ffff6a52d3b in ?? () from /usr/lib64/libQt5Core.so.5
#12 0x00007ffff6a53090 in ?? () from /usr/lib64/libQt5Core.so.5
#13 0x00007ffff6a5363d in QSettings::QSettings(QSettings::Scope, QString const&, QString const&, QObject*) () from /usr/lib64/libQt5Core.so.5
#14 0x00007ffff79ad555 in QFileDialogPrivate::restoreFromSettings() () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007ffff79af4b3 in QFileDialogPrivate::init(QFileDialogArgs const&) () from /usr/lib64/libQt5Widgets.so.5
#16 0x00007ffff79b036d in QFileDialog::QFileDialog(QFileDialogArgs const&) () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007ffff79b0842 in QFileDialog::getOpenFileUrls(QWidget*, QString const&, QUrl const&, QString const&, QString*, QFlags<QFileDialog::Option>, QStringList const&)
    () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007ffff7eb7d9c in KateViewManager::slotDocumentOpen (this=0x555555b0d320) at /usr/src/debug/kate-23.08.5/apps/lib/kateviewmanager.cpp:311
#19 0x00007ffff6b052f8 in ?? () from /usr/lib64/libQt5Core.so.5
#20 0x00007ffff7786252 in QAction::triggered(bool) () from /usr/lib64/libQt5Widgets.so.5
#21 0x00007ffff7788e88 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007ffff78838ca in ?? () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007ffff7883a21 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#24 0x00007ffff797eb9a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#25 0x00007ffff77cf09e in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#26 0x00007ffff778cbaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#27 0x00007ffff77941ab in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#28 0x00007ffff6ace6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#29 0x00007ffff77931e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /usr/lib64/libQt5Widgets.so.5
#30 0x00007ffff77e8587 in ?? () from /usr/lib64/libQt5Widgets.so.5
#31 0x00007ffff77eb8b5 in ?? () from /usr/lib64/libQt5Widgets.so.5
#32 0x00007ffff778cbaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#33 0x00007ffff6ace6da in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#34 0x00007ffff6f66eb3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#35 0x00007ffff6f3b10c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#36 0x00007ffff0ef72aa in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#37 0x00007ffff49fa6bb in g_main_dispatch (context=0x7fffec005000) at ../glib/gmain.c:3337
#38 g_main_context_dispatch (context=0x7fffec005000) at ../glib/gmain.c:4055
#39 0x00007ffff49fa968 in g_main_context_iterate (context=context@entry=0x7fffec005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4131
#40 0x00007ffff49faa1f in g_main_context_iteration (context=0x7fffec005000, may_block=1) at ../glib/gmain.c:4196
#41 0x00007ffff6b26390 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#42 0x00007ffff6acd0fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#43 0x00007ffff6ad5340 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#44 0x0000555555556af6 in main (argc=<optimized out>, argv=0x7fffffffdea0) at /usr/src/debug/kate-23.08.5/apps/kwrite/main.cpp:156
Comment 12 Sergey V Turchin 2025-01-15 10:10:26 MSK
А у свежесозданного пользователя на этой системе воспроизводится?
Comment 13 Rurewa 2025-01-15 10:39:26 MSK
(Ответ для Sergey V Turchin на комментарий #12)
> А у свежесозданного пользователя на этой системе воспроизводится?

У других пользователей на этом компьютере, в их сеансах всё отлично.