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

Wayland: Application crash when disabling a screen

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.14.1
    • Fix Version/s: 5.15.0
    • Component/s: Wayland Compositor
    • Labels:
    • Platform/s:
      Linux/Wayland

      Description

      In a Linux Wayland session, when a screen is disabled (using KScreen for instance), a somewhat random Qt Gui Application crashes, with the backtrace :

       

      #6 0x00007f3499ee95ea in std::_atomic_base<QtSharedPointer::ExternalRefCountData*>::load (_m=std::memory_order_relaxed, this=<optimized out>) at /usr/include/c++/7/bits/atomic_base.h:713
      #7 std::atomic<QtSharedPointer::ExternalRefCountData*>::load (__m=std::memory_order_relaxed, this=<optimized out>) at /usr/include/c++/7/atomic:452
      #8 QAtomicOps<QtSharedPointer::ExternalRefCountData*>::loadRelaxed<QtSharedPointer::ExternalRefCountData*> (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
      #9 QBasicAtomicPointer<QtSharedPointer::ExternalRefCountData>::loadRelaxed (this=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:248
      #10 QtSharedPointer::ExternalRefCountData::getAndRef (obj=0x564ac1f8d470) at tools/qsharedpointer.cpp:1395
      #11 0x00007f349a67187d in void QWindowSystemInterface::handleWindowScreenChanged<QWindowSystemInterface::DefaultDelivery>(QWindow*, QScreen*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
      #12 0x00007f348ff636b7 in QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x564ac20fa800) at qwaylandwindow.cpp:969
      #13 0x00007f349a0cffe7 in QtPrivate::QSlotObjectBase::call (a=0x7fffc4bbc960, r=0x564ac20fa800, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
      #14 doActivate<false> (sender=0x564ac20f8670, signal_index=3, argv=0x7fffc4bbc960) at kernel/qobject.cpp:3870
      #15 0x00007f349a0ca8a2 in QMetaObject::activate (sender=sender@entry=0x564ac20f8670, m=m@entry=0x7f3490221d20 <QtWaylandClient::QWaylandSurface::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3930
      #16 0x00007f348ff81840 in QtWaylandClient::QWaylandSurface::screensChanged (this=this@entry=0x564ac20f8670) at .moc/moc_qwaylandsurface_p.cpp:155
      #17 0x00007f348ff697a4 in QtWaylandClient::QWaylandSurface::surface_enter (this=0x564ac20f8670, output=0x564ac2134df0) at qwaylandsurface.cpp:97
      #18 0x00007f348f457dae in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
      #19 0x00007f348f45771f in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
      #20 0x00007f348fae6e24 in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
      #21 0x00007f348fae3659 in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
      #22 0x00007f348fae4b24 in wl_display_dispatch_queue_pending () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
      #23 0x00007f348ff5b642 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x564ac1abb0f0) at qwaylanddisplay.cpp:208
      #24 0x00007f349a0cfdc9 in doActivate<false> (sender=0x564ac1b2a390, signal_index=3, argv=0x7fffc4bbcef0) at kernel/qobject.cpp:3882
      #25 0x00007f349a0ca8a2 in QMetaObject::activate (sender=sender@entry=0x564ac1b2a390, m=m@entry=0x7f349a562bc0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffc4bbcef0) at kernel/qobject.cpp:3930
      #26 0x00007f349a0d35c8 in QSocketNotifier::activated (this=this@entry=0x564ac1b2a390, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:141
      #27 0x00007f349a0d3982 in QSocketNotifier::event (this=0x564ac1b2a390, e=0x7fffc4bbd1c0) at kernel/qsocketnotifier.cpp:266
      #28 0x00007f349b4af8bc in QApplicationPrivate::notify_helper (this=this@entry=0x564ac1ab0c30, receiver=receiver@entry=0x564ac1b2a390, e=e@entry=0x7fffc4bbd1c0) at kernel/qapplication.cpp:3684
      #29 0x00007f349b4b6ac0 in QApplication::notify (this=0x7fffc4bbd5d0, receiver=0x564ac1b2a390, e=0x7fffc4bbd1c0) at kernel/qapplication.cpp:3430

       

      KDE Plasma 5.19 master

      KDE bug: https://bugs.kde.org/show_bug.cgi?id=419749

        Attachments

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

          Activity

            People

            Assignee:
            qt.team.graphics.and.multimedia Qt Graphics Team
            Reporter:
            meven Méven Car
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes