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

Crash in QRhiGles2::ensureContext with QT_WIDGETS_RHI_BACKEND=vulkan and QOpenGLWidget

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 6.4.0 RC1, 6.4.2, 6.5.0 Beta1
    • 6.4.0 Beta2
    • Qt RHI
    • None
    • Linux/X11
    • a4a51f6a64 (qt/qtbase/dev) 982ad6c06a (qt/qtbase/6.4) 982ad6c06a (qt/tqtc-qtbase/6.4)

    Description

      This crash happens only with a very non-trivial widget and I have no idea what exactly triggers the crash to create a minimal reproducible example, so I hope the trace is enough.

      #0  0x00000000139d212b in QRhiGles2::ensureContext (this=0x0, surface=0x0) at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/rhi/qrhigles2.cpp:521
      No locals.
      #1  0x00000000139e1404 in QGles2Texture::prepareCreate (this=0x7fff9193a4c0, adjustedSize=0x0)
          at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/rhi/qrhigles2.cpp:4920
              rhiD = <optimized out>
              size = {wd = 326520489, ht = 0}
              isCube = <optimized out>
              isArray = <optimized out>
              is3D = <optimized out>
              hasMipMaps = <optimized out>
              isCompressed = <optimized out>
      #2  0x00000000139eabad in QGles2Texture::createFrom (this=0x7fff9193a4c0, src=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/rhi/qrhigles2.cpp:5069
              textureId = <optimized out>
              rhiD = <optimized out>
      #3  0x00000000132ed6ca in QOpenGLWidgetPrivate::ensureRhiDependentResources (this=0x7fffd9078e00)
          at /usr/src/Libraries/qt_6_4_0/qtbase/src/openglwidgets/qopenglwidget.cpp:730
              textureId = <optimized out>
              deviceSize = {wd = 2880, ht = 1466}
      --Type <RET> for more, q to quit, c to continue without paging--c
              q = <optimized out>
              rhi = 0x7fffb32201a8
      #4  0x00000000132ed985 in QOpenGLWidgetPrivate::recreateFbo (this=this@entry=0x7fffd9078e00) at /usr/src/Libraries/qt_6_4_0/qtbase/src/openglwidgets/qopenglwidget.cpp:708
              q = <optimized out>
              samples = <optimized out>
              extfuncs = <optimized out>
              format = {d = 0x7fffe35ec3c0}
              deviceSize = {wd = 2880, ht = 1466}
      #5  0x00000000132edf69 in QOpenGLWidget::resizeEvent (this=0x7fffd82195e0, e=<optimized out>) at /usr/src/Libraries/qt_6_4_0/qtbase/src/openglwidgets/qopenglwidget.cpp:1266
              d = 0x7fffd9078e00
      #6  0x0000000013342c8a in QWidget::event (this=0x7fffd82195e0, event=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/widgets/kernel/qwidget.cpp:8978
              d = <optimized out>
      #7  0x0000000010d89a78 in Ui::RpWidgetBase<QOpenGLWidget, Ui::GL::(anonymous namespace)::SurfaceTraits>::eventHook(QEvent*) ()
      No symbol table info available.
      #8  0x0000000011079125 in Ui::RpWidgetWrap::handleEvent(QEvent*) ()
      No symbol table info available.
      #9  0x0000000010d89922 in Ui::RpWidgetBase<QOpenGLWidget, Ui::GL::(anonymous namespace)::SurfaceTraits>::event(QEvent*) ()
      No symbol table info available.
      #10 0x00000000132f0662 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7fffd82195e0, e=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/widgets/kernel/qapplication.cpp:3305
              consumed = false
              filtered = false
      #11 0x000000000d0c749b in Core::Sandbox::notifyOrInvoke(QObject*, QEvent*) ()
      No symbol table info available.
      #12 0x000000000d0c75b0 in Core::Sandbox::notify(QObject*, QEvent*) ()
      No symbol table info available.
      #13 0x0000000013c96318 in QCoreApplication::notifyInternal2 (event=0x7fffffff9380, receiver=0x7fffd82195e0) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1026
              threadData = 0x7ffff303b5a0
              selfRequired = <optimized out>
              result = false
              cbdata = {0x7fffd82195e0, 0x7fffffff9380, 0x7fffffff90ef}
              d = <optimized out>
              scopeLevelCounter = <optimized out>
              selfRequired = <optimized out>
              result = <optimized out>
              cbdata = <optimized out>
              d = <optimized out>
              threadData = <optimized out>
              scopeLevelCounter = <optimized out>
      #14 QCoreApplication::forwardEvent (receiver=0x7fffd82195e0, event=event@entry=0x7fffffff9380, originatingEvent=originatingEvent@entry=0x0) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1041
      No locals.
      #15 0x000000001334edc6 in QWidgetWindow::handleResizeEvent (this=0x7fffadcb34a0, event=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/widgets/kernel/qwidgetwindow.cpp:778
              oldRect = {x1 = 0, y1 = 0, x2 = 1439, y2 = 809}
      #16 0x0000000013353036 in QWidgetWindow::event (this=0x7fffadcb34a0, event=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/widgets/kernel/qwidgetwindow.cpp:263
      No locals.
      #17 0x00000000132f0662 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7fffadcb34a0, e=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/widgets/kernel/qapplication.cpp:3305
              consumed = false
              filtered = false
      #18 0x000000000d0c749b in Core::Sandbox::notifyOrInvoke(QObject*, QEvent*) ()
      No symbol table info available.
      #19 0x000000000d0c75b0 in Core::Sandbox::notify(QObject*, QEvent*) ()
      No symbol table info available.
      #20 0x0000000013c96810 in QCoreApplication::notifyInternal2 (event=0x7fffffff9380, receiver=0x7fffadcb34a0) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1026
              threadData = 0x7ffff303b5a0
              selfRequired = <optimized out>
              result = false
              cbdata = {0x7fffadcb34a0, 0x7fffffff9380, 0x7fffffff92ef}
              d = <optimized out>
              scopeLevelCounter = <optimized out>
              selfRequired = <optimized out>
              result = <optimized out>
              cbdata = <optimized out>
              d = <optimized out>
              threadData = <optimized out>
              scopeLevelCounter = <optimized out>
      #21 QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x7fffadcb34a0, event=event@entry=0x7fffffff9380) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1456
      No locals.
      #22 0x0000000013726e1b in QGuiApplicationPrivate::processGeometryChangeEvent (e=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/kernel/qguiapplication.cpp:2606
              e = {<QEvent> = {_vptr.QEvent = 0x19546d28 <vtable for QResizeEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x15cc2a00 <(anonymous namespace)::qt_meta_stringdata_QEvent>, data = 0x15cc2440 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x19550280 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_QEvent_t, QtPrivate::TypeAndForceComplete<QEvent, std::integral_constant<bool, true> > >>, extradata = 0x0}}, t = 14, m_posted = false, m_spont = true, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, m_size = {wd = 1440, ht = 733}, m_oldSize = {wd = 1440, ht = 810}}
              window = 0x7fffadcb34a0
              actualGeometry = {x1 = 0, y1 = 24, x2 = <optimized out>, y2 = -27776}
              isResize = true
              lastReportedGeometry = {x1 = 0, y1 = 0, x2 = <optimized out>, y2 = <optimized out>}
              requestedGeometry = <optimized out>
              isMove = <optimized out>
              window = <optimized out>
              lastReportedGeometry = <optimized out>
              requestedGeometry = <optimized out>
              actualGeometry = <optimized out>
              isResize = <optimized out>
              isMove = <optimized out>
              e = <optimized out>
              e = <optimized out>
      #23 QGuiApplicationPrivate::processGeometryChangeEvent (e=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/kernel/qguiapplication.cpp:2576
              window = <optimized out>
              lastReportedGeometry = <optimized out>
              requestedGeometry = <optimized out>
              actualGeometry = <optimized out>
              isResize = <optimized out>
              isMove = <optimized out>
              e = <optimized out>
              e = <optimized out>
      #24 0x0000000013771fe4 in QWindowSystemInterface::sendWindowSystemEvents (flags=..., flags@entry=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1103
              event = 0x7fffadcca950
              nevents = 2
      #25 0x00000000131548ea in xcbSourceDispatch (source=<optimized out>) at /usr/src/Libraries/qt_6_4_0/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
              xcbEventSource = <optimized out>
              flags = {i = 164}
      #26 0x00007ffff6fefdfb in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #27 0x00007ffff6ff00a8 in g_main_context_iterate.constprop () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #28 0x00007ffff6ff015f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
      No symbol table info available.
      #29 0x0000000013ed42ca in QEventDispatcherGlib::processEvents (this=0x7ffff307b0b0, flags=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
              d = 0x7fffe33bb780
              canWait = true
              savedFlags = {i = 0}
              result = <optimized out>
      #30 0x0000000013ca1e8e in QEventLoop::processEvents (flags=..., this=0x7fffffff9610) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qeventloop.cpp:100
              d = <optimized out>
              threadData = <optimized out>
              d = <optimized out>
              threadData = <optimized out>
      #31 QEventLoop::exec (this=this@entry=0x7fffffff9610, flags=..., flags@entry=...) at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/kernel/qeventloop.cpp:182
              d = 0x7fffe34dbc00
              threadData = <optimized out>
              locker = {m_mutex = 0x7ffff30dd158, m_isLocked = false}
              ref = <optimized out>
              app = <optimized out>
      #32 0x0000000013c9f748 in QCoreApplication::exec () at /usr/src/Libraries/qt_6_4_0/qtbase/src/corelib/global/qflags.h:74
              threadData = 0x7ffff303b5a0
              eventLoop = {<QObject> = {_vptr.QObject = 0x19702510 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x15cc78a0 <(anonymous namespace)::qt_meta_stringdata_QObject>, data = 0x15cc7760 <qt_meta_data_QObject>, static_metacall = 0x13ce63f0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x19702720 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_QObject_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x7fffe34dbc00}}, static staticMetaObject = {d = {superdata = {direct = 0x19551200 <QObject::staticMetaObject>}, stringdata = 0x15cc3c60 <(anonymous namespace)::qt_meta_stringdata_QEventLoop>, data = 0x15cc3b60 <qt_meta_data_QEventLoop>, static_metacall = 0x13ca1500 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x19702480 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_QEventLoop_t, QtPrivate::TypeAndForceComplete<QEventLoop, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
              returnCode = <optimized out>
      #33 0x000000000d0c372e in Core::Sandbox::start() ()
      No symbol table info available.
      #34 0x000000000d0a255e in Core::Launcher::executeApplication() ()
      No symbol table info available.
      #35 0x000000000d09fece in Core::Launcher::exec() ()
      No symbol table info available.
      #36 0x000000000f7db019 in Platform::Launcher::exec() ()
      No symbol table info available.
      #37 0x00000000106cc1b6 in main ()
      No symbol table info available.
      

      Attachments

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

        Activity

          People

            lagocs Laszlo Agocs
            ilya-fedin Ilya Fedin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews