Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-134518

[REG 6.8 -> 6.9] Crash in QDBusMenuBar::unregisterMenuBar when closing app

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.9
    • GUI: Menus
    • None
    • Fedora 41, KDE Plasma
    • Linux/Wayland

    Description

      Running the following QML code in qmlscene and then closing the window results in a crash

       

      import QtQuick
      import Qt.labs.platform
      
      Window {
          visible: true
          MenuBar {
              id: menuBar
              Menu {
                  id: fileMenu
                  title: qsTr("File")
                  // ...
              }
              Menu {
                  id: editMenu
                  title: qsTr("&Edit")
                  // ...
              }
          }
      } 

       

      #0  QQuickItem::flags (this=this@entry=0x0) at /home/nico/workspace/qt6/qtbase/src/corelib/global/qflags.h:77
      
      #1  0x00007ffff70d7532 in forcePolishHelper (item=0x0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow.cpp:415
      
      #2  0x00007ffff70e0681 in QQuickWindow::event (this=0x555555ca8860, event=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow.cpp:1614
      
      #3  0x00007ffff7791abd in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555ca8860, e=0x7fffffffc6e0)
      
          at /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:3301
      
      #4  0x00007ffff519b088 in QCoreApplication::notifyInternal2 (receiver=0x555555ca8860, event=0x7fffffffc6e0)
      
          at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
      
      #5  0x00007ffff519b2ed in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
      
          at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
      
      #6  0x00007ffff5a56e9e in QWindowPrivate::updateDevicePixelRatio (this=this@entry=0x555555627b40) at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qwindow.cpp:1435
      
      #7  0x00007ffff5a57196 in QWindowPrivate::create (this=0x555555627b40, recursive=recursive@entry=false)
      
          at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qwindow.cpp:603
      
      #8  0x00007ffff5a58a7f in QWindow::create (this=<optimized out>) at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qwindow.cpp:732
      
      #9  0x00007ffff5a58e25 in QWindow::winId (this=<optimized out>) at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qwindow.cpp:751
      
      #10 0x00007ffff6000b06 in QDBusMenuBar::unregisterMenuBar (this=this@entry=0x555555d02da0)
      
          at /home/nico/workspace/qt6/qtbase/src/gui/platform/unix/dbusmenu/qdbusmenubar.cpp:141
      
      #11 0x00007ffff6000da1 in QDBusMenuBar::~QDBusMenuBar (this=0x555555d02da0, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtbase/src/gui/platform/unix/dbusmenu/qdbusmenubar.cpp:37
      
      #12 0x00007ffff6000f95 in QDBusMenuBar::~QDBusMenuBar (this=0x555555d02da0, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtbase/src/gui/platform/unix/dbusmenu/qdbusmenubar.cpp:41
      
      #13 0x00007fffd00c41a3 in QQuickLabsPlatformMenuBar::~QQuickLabsPlatformMenuBar (this=this@entry=0x555555d02a40, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/labs/platform/qquicklabsplatformmenubar.cpp:88
      
      #14 0x00007fffd00d06df in QQmlPrivate::QQmlElement<QQuickLabsPlatformMenuBar>::~QQmlElement (this=0x555555d02a40, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
      
      #15 QQmlPrivate::QQmlElement<QQuickLabsPlatformMenuBar>::~QQmlElement (this=0x555555d02a40, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
      
      #16 0x00007ffff51fb1fd in QObjectPrivate::deleteChildren (this=this@entry=0x5555559856b0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2223
      
      #17 0x00007ffff51fff94 in QObject::~QObject (this=this@entry=0x555555ca8ae0, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:1140
      
      #18 0x00007ffff7021ac4 in QQuickItem::~QQuickItem (this=this@entry=0x555555ca8ae0, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.cpp:2435
      
      #19 0x00007ffff70e275d in QQuickRootItem::~QQuickRootItem (this=0x555555ca8ae0, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow_p.h:62
      
      #20 QQuickRootItem::~QQuickRootItem (this=0x555555ca8ae0, __in_chrg=<optimized out>) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow_p.h:62
      
      #21 0x00007ffff70dd7c2 in QQuickWindow::~QQuickWindow (this=this@entry=0x555555ca8860, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow.cpp:1191
      
      #22 0x00007ffff70ec1ae in QQuickWindowQmlImpl::~QQuickWindowQmlImpl (this=this@entry=0x555555ca8860, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindowmodule.cpp:73
      
      #23 0x00007ffff72a1a49 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement (this=0x555555ca8860, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
      
      #24 QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement (this=0x555555ca8860, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
      
      #25 0x000055555555ab0f in QScopedPointerDeleter<QQuickWindow>::cleanup (pointer=0x555555ca8860)
      
          at /home/nico/workspace/qt6/qtbase/src/corelib/tools/qscopedpointer.h:16
      
      #26 QScopedPointer<QQuickWindow, QScopedPointerDeleter<QQuickWindow> >::~QScopedPointer (this=<synthetic pointer>, __in_chrg=<optimized out>)
      
          at /home/nico/workspace/qt6/qtbase/src/corelib/tools/qscopedpointer.h:81
      
      #27 main (argc=<optimized out>, argv=<optimized out>) at /home/nico/workspace/qt6/qtdeclarative/tools/qmlscene/main.cpp:648
      

      This is tested on KDE Plasma, with the "Global Menu" applet enabled

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            nicolasfella Nicolas Fella
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes