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

Crash after turning display on and off with Sway/wayland

    XMLWordPrintable

Details

    • Linux/Wayland

    Description

      Component selected may be wrong.

       

      Problem is encountered using VLC. A right click on the UI after power cycling the display causes a floating point exception.

       

      VLC issue where they sent me here:  https://code.videolan.org/videolan/vlc/-/issues/27636

       

      Thread 5 "vlc" received signal SIGFPE, Arithmetic exception.
      [Switching to Thread 0x7ffff29ff6c0 (LWP 17689)]
      0x00007ffff24522ef in qt_fusion_draw_arrow(Qt::ArrowType, QPainter*, QStyleOption const*, QRect const&, QColor const&) [clone .part.0] [clone .lto_priv.0] (type=Qt::RightArrow, painter=0x7ffff29fd048, option=<optimized out>, rect=..., color=...) at styles/qfusionstyle.cpp:274
      Downloading 0.17 MB source file /usr/src/debug/qt5-base/qtbase/src/widgets/styles/qfusionstyle.cpp
      274 arrowRect.setHeight(arrowHeight * size / arrowWidth);

       
      (gdb) bt
      #0 0x00007ffff24522ef in qt_fusion_draw_arrow(Qt::ArrowType, QPainter*, QStyleOption const*, QRect const&, QColor const&) [clone .part.0] [clone .lto_priv.0] (type=Qt::RightArrow, painter=0x7ffff29fd048, option=<optimized out>, rect=..., color=...) at styles/qfusionstyle.cpp:274
      #1 0x00007ffff24481fb in qt_fusion_draw_arrow (color=..., rect=..., option=0x7ffff29fce70, painter=0x7ffff29fd048, type=Qt::RightArrow) at styles/qfusionstyle.cpp:575
      #2 QFusionStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x7fffe00bbc80, elem=QStyle::PE_IndicatorArrowRight, option=0x7ffff29fce70, painter=0x7ffff29fd048, widget=0x7ffff29fdf30) at styles/qfusionstyle.cpp:575
      #3 0x00007ffff244d126 in QFusionStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x7fffe00bbc80, element=<optimized out>, option=0x7ffff29fd150, painter=0x7ffff29fd048, widget=0x7ffff29fdf30) at styles/qfusionstyle.cpp:1757
      #4 0x00007ffff24fbe59 in QMenu::paintEvent(QPaintEvent*) (this=0x7ffff29fdf30, e=0x7ffff29fd350) at widgets/qmenu.cpp:2856
      #5 0x00007ffff23af3c4 in QWidget::event(QEvent*) (this=0x7ffff29fdf30, event=0x7ffff29fd350) at kernel/qwidget.cpp:8824
      #6 0x00007ffff2378b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7ffff29fdf30, e=0x7ffff29fd350) at kernel/qapplication.cpp:3637
      #7 0x00007ffff168d578 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7ffff29fdf30, event=0x7ffff29fd350) at kernel/qcoreapplication.cpp:1064
      #8 0x00007ffff23a334b in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x7fffe048d650, toBePainted=...) at kernel/qwidget.cpp:5477
      #9 0x00007ffff23a46a6 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x7fffe048d650, pdev=0x7fffe04b4920, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5427
      #10 0x00007ffff2384a0d in QWidgetRepaintManager::paintAndFlush() (this=0x7fffe04b49a0) at kernel/qwidgetrepaintmanager.cpp:1009
      #11 0x00007ffff239b230 in QWidgetRepaintManager::sync(QWidget*, QRegion const&) (exposedRegion=..., exposedWidget=0x7ffff29fdf30, this=0x7fffe04b49a0) at kernel/qwidgetrepaintmanager.cpp:743
      #12 QWidgetPrivate::syncBackingStore(QRegion const&) (region=..., this=<optimized out>) at kernel/qwidget.cpp:1767
      #13 QWidgetPrivate::syncBackingStore(QRegion const&) (this=<optimized out>, region=...) at kernel/qwidget.cpp:1762
      #14 0x00007ffff23d007b in QWidgetWindow::handleExposeEvent(QExposeEvent*) (event=0x7ffff29fda50, this=0x7fffe04d0890) at kernel/qwidgetwindow.cpp:1031
      #15 QWidgetWindow::event(QEvent*) (this=0x7fffe04d0890, event=0x7ffff29fda50) at kernel/qwidgetwindow.cpp:347
      #16 0x00007ffff2378b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffe04d0890, e=0x7ffff29fda50) at kernel/qapplication.cpp:3637
      #17 0x00007ffff168d578 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffe04d0890, event=0x7ffff29fda50) at kernel/qcoreapplication.cpp:1064
      #18 0x00007ffff1b499b4 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x7fffe04b3b70) at kernel/qguiapplication.cpp:3261
      #19 0x00007ffff1b289a5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
      #20 0x00007ffff212f710 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
      #21 0x00007ffff736887b in g_main_dispatch (context=0x7fffe4005070) at ../glib/glib/gmain.c:3444
      #22 g_main_context_dispatch (context=0x7fffe4005070) at ../glib/glib/gmain.c:4162
      #23 0x00007ffff73bf299 in g_main_context_iterate.constprop.0 (context=0x7fffe4005070, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4238
      #24 0x00007ffff7367132 in g_main_context_iteration (context=0x7fffe4005070, may_block=1) at ../glib/glib/gmain.c:4303
      #25 0x00007ffff16d820c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffe00b0990, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #26 0x00007ffff1685d2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffff29fdd40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
      #27 0x00007ffff24fb758 in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x7fffe048d650, p=..., action=action@entry=0x0, positionFunction=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      #28 0x00007ffff24fb873 in QMenu::exec(QPoint const&, QAction*) (this=this@entry=0x7ffff29fdf30, p=..., action=action@entry=0x0) at widgets/qmenu.cpp:2687
      #29 0x00007ffff2b6dc6b in StandardPLPanel::popup(QPoint const&) (this=<optimized out>, point=<optimized out>) at gui/qt/components/playlist/standardpanel.cpp:290
      #30 0x00007ffff2b6e43b in StandardPLPanel::popupPlView(QPoint const&) (this=0x7fffe043f400, point=<optimized out>) at gui/qt/components/playlist/standardpanel.cpp:169
      #31 0x00007ffff16be1c0 in doActivate<false>(QObject*, int, void**) (sender=0x7fffe0a602a0, signal_index=6, argv=0x7ffff29fe0d0) at kernel/qobject.cpp:3931
      #32 0x00007ffff23b0a0a in QWidget::customContextMenuRequested(QPoint const&) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qwidget.cpp:653
      #33 0x00007ffff23afaa5 in QWidget::event(QEvent*) (this=0x7fffe0a602a0, event=0x7ffff29fe520) at kernel/qwidget.cpp:8850
      #34 0x00007ffff245d823 in QFrame::event(QEvent*) (this=0x7fffe0a602a0, e=0x7ffff29fe520) at widgets/qframe.cpp:550
      #35 0x00007ffff168d1e2 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x7fffe0591870, event=event@entry=0x7ffff29fe520) at kernel/qcoreapplication.cpp:1190
      #36 0x00007ffff2378b0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffe0000b70, receiver=receiver@entry=0x7fffe0591870, e=e@entry=0x7ffff29fe520) at kernel/qapplication.cpp:3631
      #37 0x00007ffff237d342 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=<optimized out>, e=0x7ffff29fe520) at kernel/qapplication.cpp:3243
      #38 0x00007ffff168d578 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffe0591870, event=0x7ffff29fe520) at kernel/qcoreapplication.cpp:1064
      #39 0x00007ffff23cddf4 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=<optimized out>, event=0x7ffff29fe8c0) at kernel/qwidgetwindow.cpp:691
      #40 0x00007ffff23cf15e in QWidgetWindow::event(QEvent*) (this=0x7fffe05ff410, event=0x7ffff29fe8c0) at kernel/qwidgetwindow.cpp:300
      #41 0x00007ffff2378b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffe05ff410, e=0x7ffff29fe8c0) at kernel/qapplication.cpp:3637
      #42 0x00007ffff168d578 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffe05ff410, event=0x7ffff29fe8c0) at kernel/qcoreapplication.cpp:1064
      #43 0x00007ffff1b3f15c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x7fffe0adf980) at kernel/qguiapplication.cpp:2285
      #44 0x00007ffff1b289a5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
      #45 0x00007ffff212f710 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
      #46 0x00007ffff736887b in g_main_dispatch (context=0x7fffe4005070) at ../glib/glib/gmain.c:3444
      #47 g_main_context_dispatch (context=0x7fffe4005070) at ../glib/glib/gmain.c:4162
      #48 0x00007ffff73bf299 in g_main_context_iterate.constprop.0 (context=0x7fffe4005070, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4238
      #49 0x00007ffff7367132 in g_main_context_iteration (context=0x7fffe4005070, may_block=1) at ../glib/glib/gmain.c:4303
      #50 0x00007ffff16d820c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffe00b0990, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #51 0x00007ffff1685d2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffff29fec60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
      #52 0x00007ffff1690849 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      #53 0x00007ffff1b3a102 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
      #54 0x00007ffff2376f2a in QApplication::exec() () at kernel/qapplication.cpp:2829
      #55 0x00007ffff2aa1a0f in ThreadPlatform(void*, char*) (obj=0x55555567f130, platform_name=<optimized out>) at gui/qt/qt.cpp:644
      #56 0x00007ffff2aa2a8a in ThreadXCB(void*) (data=<optimized out>) at gui/qt/qt.cpp:369
      #57 0x00007ffff7dfb8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
      #58 0x00007ffff7e7da60 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

      Attachments

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

        Activity

          People

            tpochep Timur Pocheptsov
            djvs NA NA
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes