Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-24195

Crash in QMenuPrivate::popup() / QWindow::screen()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • None
    • Qt Creator 4.13.0-beta1
    • None
    • Linux/X11, Windows
    • 0a2e3ce85ce788b8a07380a458faf4ed3817d0c0 (qt/qtbase/dev) 4edef1a89fdc7f1070d64203f2ba468eab255856 (qt/qtbase/5.15) 3a29996548fa3ae3ddfb1d4e741155bcf7727820 (qt/qtbase/5.12)

    Description

      I get a crash when trying to open the "Open Terminal With" sub-menu of a source file context menu in the Project view.

      This seems to be the only submenu where this happens, so this might be a Creator problem, even though there's no Creator code in the backtrace.

      To reproduce

      • Open Qt Creator with any project
      • In project tree, open context menu on some file (main.cpp...)
      • Move mouse (without pressed buttons) over "Open Terminal With"
        -> crash
      #0  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=0x8)
          at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:116
      #1  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const> (ptr=...)
          at ../../include/QtCore/../../src/corelib/global/qglobal.h:1133
      #2  QWindow::d_func (this=0x0) at ../../include/QtGui/../../src/gui/kernel/qwindow.h:98
      #3  QWindow::screen (this=0x0) at kernel/qwindow.cpp:2078
      #4  0x00007f2cc4a84642 in QMenuPrivate::popup(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x5610a7198430, 
          p=..., atAction=atAction@entry=0x0, positionFunction=...) at widgets/qmenu.h:65
      #5  0x00007f2cc4a85513 in QMenu::popup (this=<optimized out>, p=..., atAction=atAction@entry=0x0)
          at /usr/include/c++/9/bits/std_function.h:396
      #6  0x00007f2cc4a86c66 in QMenu::internalDelayedPopup (this=this@entry=0x5610a718dee0) at /usr/include/c++/9/bits/atomic_base.h:413
      #7  0x00007f2cc4a8d462 in QMenu::timerEvent (this=0x5610a718dee0, e=<optimized out>) at widgets/qmenu.cpp:3542
      #8  0x00007f2cc3b37513 in QObject::event (this=this@entry=0x5610a718dee0, e=e@entry=0x7ffe8fb018d0) at kernel/qobject.cpp:1291
      #9  0x00007f2cc4912950 in QWidget::event (this=this@entry=0x5610a718dee0, event=event@entry=0x7ffe8fb018d0) at kernel/qwidget.cpp:9086
      #10 0x00007f2cc4a8d0f5 in QMenu::event (this=0x5610a718dee0, e=0x7ffe8fb018d0) at widgets/qmenu.cpp:3088
      #11 0x00007f2cc48c51bc in QApplicationPrivate::notify_helper (this=this@entry=0x5610a698b5c0, receiver=receiver@entry=0x5610a718dee0, 
          e=e@entry=0x7ffe8fb018d0) at kernel/qapplication.cpp:3671
      #12 0x00007f2cc48cfed6 in QApplication::notify (this=0x7ffe8fb01da0, receiver=0x5610a718dee0, e=0x7ffe8fb018d0)
          at kernel/qapplication.cpp:3621
      #13 0x00007f2cc3afc7e1 in QCoreApplication::notifyInternal2 (receiver=0x5610a718dee0, event=0x7ffe8fb018d0)
          at kernel/qcoreapplication.cpp:1061
      #14 0x00007f2cc3afca1a in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
          at kernel/qcoreapplication.cpp:1456
      #15 0x00007f2cc3b6a774 in QTimerInfoList::activateTimers (this=0x5610a69eab00) at kernel/qtimerinfo_unix.cpp:643
      #16 0x00007f2cc3b6b03a in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
      #17 0x00007f2cc23d4fbd in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
      #18 0x00007f2cc23d5240 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
      #19 0x00007f2cc23d52e3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
      #20 0x00007f2cc3b6b3f4 in QEventDispatcherGlib::processEvents (this=0x5610a69e7bd0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #21 0x00007f2cbfc562de in QXcbGlibEventDispatcher::processEvents (this=<optimized out>, flags=...) at qxcbeventdispatcher.cpp:143
      #22 0x00007f2cc3afa22b in QEventLoop::processEvents (this=this@entry=0x7ffe8fb01b30, flags=..., flags@entry=...)
          at /usr/include/c++/9/bits/atomic_base.h:734
      #23 0x00007f2cc3afa6ac in QEventLoop::exec (this=this@entry=0x7ffe8fb01b30, flags=flags@entry=...)
          at ../../include/QtCore/../../src/corelib/global/qflags.h:125
      #24 0x00007f2cc3b053b2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      #25 0x00007f2cc416bf2a in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
      #26 0x00007f2cc48c512d in QApplication::exec () at kernel/qapplication.cpp:2811
      #27 0x00005610a4a78665 in main (argc=4, argv=0x7ffe8fb01f78) at main.cpp:738
      

      Attachments

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

        Activity

          People

            hjk hjk
            hjk hjk
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes