Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.14.1
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