You are not logged in.

#1 2015-08-26 22:22:40

PBS
Member
Registered: 2015-06-28
Posts: 53

[SOLVED] KDE 5 - File dialogs keep hanging

I've been seeing a lot of glitchiness relating to file dialogs in kde lately, but I'm not sure whether this is a bug in Qt5 or KDE or both, or if this even affects anyone else.

  • Some applications will often freeze when trying to display an Open File dialog box, in particular kdenlive. Other apps (e.g. kwrite, kate) don't seem to have this problem at all, no matter how many times I force them to open a file dialog. When an app freezes it loses all user interactivity, though it still responds to window resizing by repainting itself, and is not marked as unresponsive. The only way to kill such a hung process is with 'pkill -9'.

  • This might suggest that the bug is in kdenlive, but not so: I have reproduced the bug with a trivial example program, whose only non-boilerplate line of code is

    for (int i = 0; i < 5; i++) QFileDialog::getOpenFileName(this);
  • On every run, it initially prints

    kf5.kio.core: KLocalSocket(0x7a09e0) Jumbo packet of 67184 bytes
    kf5.kio.core: KLocalSocket(0x7a09e0) Jumbo packet of 72652 bytes
    kf5.kio.core: KLocalSocket(0x7a09e0) Jumbo packet of 75642 bytes

    though I suspect that this has nothing to do with it - it comes from kio/html/connectionbackend.cpp, and from the context it seems to be harmless.

  • Usually on the second time it freezes, with no dialog having appeared, and is stuck here:

    0	poll
    1	??
    2	g_main_context_iteration
    3	QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    4	QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
    5	QDialog::exec()
    6	??
    7	QDialog::exec()
    8	QFileDialog::getOpenFileUrl(QWidget*, QString const&, QUrl const&, QString const&, QString*, QFlags<QFileDialog::Option>, QStringList const&)
    9	QFileDialog::getOpenFileName(QWidget*, QString const&, QString const&, QString const&, QString*, QFlags<QFileDialog::Option>)
    10	MainWindow::MainWindow mainwindow.cpp
    11	main main.cpp

    (as an aside, could anyone explain why glib is involved in line 3 - qt doesn't run atop glib...)

  • There are some less severe bugs which affect all apps - when a dialog opens, kwin is supposed to centre it on the parent window, and dim the parent while the dialog is active - this used to work fine. Now, open dialogs appear centre screen, and the parent window does not stay dimmed. The curious thing is that this only happens for open dialogs, but not save dialogs!

Apologies if this sounds too much like a bug report; I want to know if this is a common problem, and if it will forseeably be fixed, as well as any suggestions for which package a bug should be filed against.

Last edited by PBS (2021-11-27 06:32:44)

Offline

#2 2015-08-26 22:42:35

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,287

Re: [SOLVED] KDE 5 - File dialogs keep hanging

It's not really hung, there's just an invisible modal dialog open. You can still dismiss it by pressing ESC

Upstream report: https://bugs.kde.org/show_bug.cgi?id=350758

Last edited by arojas (2015-08-26 22:49:37)

Offline

#3 2015-08-27 00:21:54

The Infinity
Member
Registered: 2014-07-05
Posts: 91
Website

Re: [SOLVED] KDE 5 - File dialogs keep hanging

I'm developing Qt 5 applications myself and noticed the same bug in my own applications.

But I've got the following error:

We got some errors while running testparm "Load smb config files from /etc/samba/smb.conf\nWARNING: No path in service printers - making it unavailable!\nLoaded services file OK.\n"

After fixing what the error complained about the file dialogs were actually working again.

Then I read this post and tried to follow the steps in the bug report. I experienced the bug already in step 4 and was wondering because I thought the dialogs would be working again (since I fixed smb.conf). To check what error message systemsettings5 prints, I started it from the terminal but then I was not be able to reproduce the bug. Very strange.

Offline

Board footer

Powered by FluxBB