https://bugs.kde.org/show_bug.cgi?id=464023
Bug ID: 464023 Summary: Deadlock in KToolBarPrivate::init Classification: Frameworks and Libraries Product: frameworks-kxmlgui Version: 5.101.0 Platform: Archlinux OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kdelibs-b...@kde.org Reporter: davis...@gmail.com Target Milestone: --- SUMMARY Got this weird deadlock for Konsole ``` Thread 7 (Thread 0x7fbfa5bfe6c0 (LWP 1889) "konsole:shlo0"): #0 0x00007fbfb4e9c4b6 in ?? () from /usr/lib/libc.so.6 #1 0x00007fbfb4e9ecd0 in pthread_cond_wait () from /usr/lib/libc.so.6 #2 0x00007fbfa650c50e in ?? () from /usr/lib/dri/radeonsi_dri.so #3 0x00007fbfa64bc89c in ?? () from /usr/lib/dri/radeonsi_dri.so #4 0x00007fbfa650c43c in ?? () from /usr/lib/dri/radeonsi_dri.so #5 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #6 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 6 (Thread 0x7fbfa63ff6c0 (LWP 1888) "konsole:sh0"): #0 0x00007fbfb4e9c4b6 in ?? () from /usr/lib/libc.so.6 #1 0x00007fbfb4e9ecd0 in pthread_cond_wait () from /usr/lib/libc.so.6 #2 0x00007fbfa650c50e in ?? () from /usr/lib/dri/radeonsi_dri.so #3 0x00007fbfa64bc89c in ?? () from /usr/lib/dri/radeonsi_dri.so #4 0x00007fbfa650c43c in ?? () from /usr/lib/dri/radeonsi_dri.so #5 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #6 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 5 (Thread 0x7fbfacaaa6c0 (LWP 1887) "konsole:disk$0"): #0 0x00007fbfb4e9c4b6 in ?? () from /usr/lib/libc.so.6 #1 0x00007fbfb4e9ecd0 in pthread_cond_wait () from /usr/lib/libc.so.6 #2 0x00007fbfa650c50e in ?? () from /usr/lib/dri/radeonsi_dri.so #3 0x00007fbfa64bc89c in ?? () from /usr/lib/dri/radeonsi_dri.so #4 0x00007fbfa650c43c in ?? () from /usr/lib/dri/radeonsi_dri.so #5 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #6 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 4 (Thread 0x7fbfad3ec6c0 (LWP 1886) "konsole:cs0"): #0 0x00007fbfb4e9c4b6 in ?? () from /usr/lib/libc.so.6 #1 0x00007fbfb4e9ecd0 in pthread_cond_wait () from /usr/lib/libc.so.6 #2 0x00007fbfa650c50e in ?? () from /usr/lib/dri/radeonsi_dri.so #3 0x00007fbfa64bc89c in ?? () from /usr/lib/dri/radeonsi_dri.so #4 0x00007fbfa650c43c in ?? () from /usr/lib/dri/radeonsi_dri.so #5 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #6 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 3 (Thread 0x7fbfae3976c0 (LWP 1885) "QXcbEventQueue"): #0 0x00007fbfb4f140bf in poll () from /usr/lib/libc.so.6 #1 0x00007fbfb32ed26b in ?? () from /usr/lib/libxcb.so.1 #2 0x00007fbfb32eed1d in xcb_wait_for_event () from /usr/lib/libxcb.so.1 #3 0x00007fbfaf1f5232 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #4 0x00007fbfb54e431a in ?? () from /usr/lib/libQt5Core.so.5 #5 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #6 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 2 (Thread 0x7fbfaeb986c0 (LWP 1884) "QDBusConnection"): #0 0x00007fbfb44cf6ec in ?? () from /usr/lib/libQt5DBus.so.5 #1 0x00007fbfb1109c49 in ?? () from /usr/lib/libdbus-1.so.3 #2 0x00007fbfb44d9bbd in ?? () from /usr/lib/libQt5DBus.so.5 #3 0x00007fbfb56b0b76 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 #4 0x00007fbfb568cf7c in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #5 0x00007fbfb56d74d3 in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5 #6 0x00007fbfb56d7b12 in ?? () from /usr/lib/libQt5Core.so.5 #7 0x00007fbfb35df87b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #8 0x00007fbfb3636c89 in ?? () from /usr/lib/libglib-2.0.so.0 #9 0x00007fbfb35de132 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #10 0x00007fbfb56d7c8c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #11 0x00007fbfb568574c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #12 0x00007fbfb54e724f in QThread::exec() () from /usr/lib/libQt5Core.so.5 #13 0x00007fbfb44dbcba in ?? () from /usr/lib/libQt5DBus.so.5 #14 0x00007fbfb54e431a in ?? () from /usr/lib/libQt5Core.so.5 #15 0x00007fbfb4e9f8fd in ?? () from /usr/lib/libc.so.6 #16 0x00007fbfb4f21a60 in ?? () from /usr/lib/libc.so.6 Thread 1 (Thread 0x7fbfaf824ac0 (LWP 1882) "konsole"): #0 0x00007fbfb4f197fd in syscall () from /usr/lib/libc.so.6 #1 0x00007fbfb54e057c in QSemaphore::acquire(int) () from /usr/lib/libQt5Core.so.5 #2 0x00007fbfb56bdb94 in ?? () from /usr/lib/libQt5Core.so.5 #3 0x00007fbfb44dceba in ?? () from /usr/lib/libQt5DBus.so.5 #4 0x00007fbfb44d5250 in QDBusConnection::connect(QString const&, QString const&, QString const&, QString const&, QStringList const&, QString const&, QObject*, char const*) () from /usr/lib/libQt5DBus.so.5 #5 0x00007fbfb44d535e in QDBusConnection::connect(QString const&, QString const&, QString const&, QString const&, QObject*, char const*) () from /usr/lib/libQt5DBus.so.5 #6 0x00007fbfb6a5b5c7 in KToolBarPrivate::init (this=0x5619d03d80c0, readConfig=<optimized out>, _isMainToolBar=<optimized out>) at /usr/src/debug/kxmlgui-git/kxmlgui/src/ktoolbar.cpp:269 #7 0x00007fbfb6a5bc15 in KToolBar::KToolBar (this=0x5619d036c720, objectName=..., parent=0x5619c319f060, readConfig=<optimized out>) at /usr/src/debug/kxmlgui-git/kxmlgui/src/ktoolbar.cpp:871 #8 0x00007fbfb6a649ea in KXMLGUIBuilder::createContainer (this=0x5619c319f098, parent=0x0, index=0, element=..., containerAction=@0x7ffc61288b28: 0x0) at /usr/include/c++/12.2.0/bits/unique_ptr.h:191 #9 0x00007fbfb6a747ee in KXMLGUI::BuildHelper::createContainer (this=this@entry=0x7ffc61288c90, parent=0x0, index=0, element=..., containerAction=@0x7ffc61288b28: 0x0, builder=builder@entry=0x7ffc61288b30) at /usr/src/debug/kxmlgui-git/kxmlgui/src/kxmlguifactory_p.cpp:772 #10 0x00007fbfb6a77548 in KXMLGUI::BuildHelper::processContainerElement (this=0x7ffc61288c90, e=..., tag=..., name=...) at /usr/src/debug/kxmlgui-git/kxmlgui/src/kxmlguifactory_p.cpp:703 #11 0x00007fbfb6a77cc5 in KXMLGUI::BuildHelper::processElement (this=0x7ffc61288c90, e=...) at /usr/src/debug/kxmlgui-git/kxmlgui/src/kxmlguifactory_p.cpp:509 #12 0x00007fbfb6a77dc4 in KXMLGUI::BuildHelper::build (this=this@entry=0x7ffc61288c90, element=...) at /usr/src/debug/kxmlgui-git/kxmlgui/src/kxmlguifactory_p.cpp:495 #13 0x00007fbfb6a71686 in KXMLGUIFactory::addClient (this=0x5619c3495840, client=0x5619c3800688) at /usr/src/debug/kxmlgui-git/kxmlgui/src/kxmlguifactory.cpp:260 #14 0x00007fbfb6c977e1 in Konsole::MainWindow::activeViewChanged(Konsole::SessionController*) () from /usr/lib/libkonsoleapp.so.1 #15 0x00007fbfb56bda91 in ?? () from /usr/lib/libQt5Core.so.5 #16 0x00007fbfb6b24ae7 in Konsole::ViewManager::activeViewChanged(Konsole::SessionController*) () from /usr/lib/libkonsoleprivate.so.1 #17 0x00007fbfb56bda91 in ?? () from /usr/lib/libQt5Core.so.5 #18 0x00007fbfb6bc0b84 in Konsole::SessionController::viewFocused(Konsole::SessionController*) () from /usr/lib/libkonsoleprivate.so.1 #19 0x00007fbfb6bd0411 in Konsole::SessionController::viewFocusChangeHandler(bool) () from /usr/lib/libkonsoleprivate.so.1 #20 0x00007fbfb56bda91 in ?? () from /usr/lib/libQt5Core.so.5 #21 0x00007fbfb6b255c7 in Konsole::TerminalDisplay::compositeFocusChanged(bool) () from /usr/lib/libkonsoleprivate.so.1 #22 0x00007fbfb56bda91 in ?? () from /usr/lib/libQt5Core.so.5 #23 0x00007fbfb6b978d2 in ?? () from /usr/lib/libkonsoleprivate.so.1 #24 0x00007fbfb568cc02 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #25 0x00007fbfb6378b4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #26 0x00007fbfb568cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #27 0x00007fbfb6374bec in QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) () from /usr/lib/libQt5Widgets.so.5 #28 0x00007fbfb63a97f7 in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/libQt5Widgets.so.5 #29 0x00007fbfb6399b7f in QStackedLayout::setCurrentIndex(int) () from /usr/lib/libQt5Widgets.so.5 #30 0x00007fbfb654c29a in ?? () from /usr/lib/libQt5Widgets.so.5 #31 0x00007fbfb56bdc40 in ?? () from /usr/lib/libQt5Core.so.5 #32 0x00007fbfb652bbe3 in QTabBar::currentChanged(int) () from /usr/lib/libQt5Widgets.so.5 #33 0x00007fbfb56bda91 in ?? () from /usr/lib/libQt5Core.so.5 #34 0x00007fbfb636bec7 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5 #35 0x00007fbfb63718c7 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5 #36 0x00007fbfb637198e in QAction::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #37 0x00007fbfb6378b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #38 0x00007fbfb568cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #39 0x00007fbfb5b7401d in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5 #40 0x00007fbfb5b6a887 in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5 #41 0x00007fbfb5b2a038 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/libQt5Gui.so.5 #42 0x00007fbfb5b3f9f2 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/libQt5Gui.so.5 #43 0x00007fbfb5b28885 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 #44 0x00007fbfaf1f78b0 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #45 0x00007fbfb35df87b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #46 0x00007fbfb3636c89 in ?? () from /usr/lib/libglib-2.0.so.0 #47 0x00007fbfb35de132 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #48 0x00007fbfb56d7c8c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #49 0x00007fbfb568574c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #50 0x00007fbfb5690269 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #51 0x00005619c2702b65 in ?? () #52 0x00007fbfb4e3c290 in ?? () from /usr/lib/libc.so.6 #53 0x00007fbfb4e3c34a in __libc_start_main () from /usr/lib/libc.so.6 #54 0x00005619c2703425 in ?? () ``` It seems to be related with a lot of notification spam as I printed binary file with bells :D Also might be QDBusConnection bug as seems it got stuck there https://github.com/qt/qtbase/blob/v5.15.8-lts-lgpl/src/dbus/qdbusintegrator.cpp#L1594 ``` } else if (objThread != QThread::currentThread()) { // looped-back message, targeting another thread: // synchronize with it postEventToThread(HandleObjectCallPostEventAction, result.obj, new QDBusActivateObjectEvent(QDBusConnection(this), this, result, usedLength, msg, &sem)); semWait = true; ``` OBSERVED RESULT Konsole got stuck and didn't repaint window and didn't respond in any way EXPECTED RESULT To be responsive SOFTWARE/OS VERSIONS Linux/KDE Plasma: Arch Linux KDE Plasma Version: 5.26.5 KDE Frameworks Version: 5.102.0 Qt Version: 5.15.8 -- You are receiving this mail because: You are watching all bug changes.