https://bugs.kde.org/show_bug.cgi?id=416974
Bug ID: 416974 Summary: Plasma 5.17.90 crashed due to a kwin_wayland segmentation fault in QWeakPointer<QObject>::QWeakPointer Product: kwin Version: 5.17.90 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: wayland-generic Assignee: kwin-bugs-n...@kde.org Reporter: matthew.fagn...@utoronto.ca Target Milestone: --- SUMMARY I was using Plasma 5.17.90 on Wayland in Fedora Rawhide with KF 5.66.0, Qt 5.13.2, Mesa 19.3.3. I started VLC 3.0.9 (from rpmfusion). I played a video and paused it after a few minutes. Plasma froze for about 3 minutes, and then sddm appeared. The systemd-coredump process for the kwin_wayland crash didn't complete correctly possibly due to timing out. I found the kwin_wayland core dump file in /var/lib/systemd/coredump/ kwin_wayland had a segmentation fault in QWeakPointer<QObject>::QWeakPointer at /usr/include/qt5/QtCore/qsharedpointer_impl.h:589. The full trace of the crashing thread 1 showed what looked like a invalid pointer d = 0x20 from frames 0 to 2 in KWayland::Server::SurfaceInterface::lockedPointer at /usr/src/debug/kf5-kwayland-5.66.0-1.fc32.x86_64/src/server/surface_interface.cpp:937. The underlying problem might be in kwayland. Core was generated by `/usr/bin/kwin_wayland --xwayland --libinput --exit-with-session=/usr/libexec/st'. Program terminated with signal SIGSEGV, Segmentation fault. #0 QWeakPointer<QObject>::QWeakPointer (other=..., this=0x7fff3257acb0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:589 589 /usr/include/qt5/QtCore/qsharedpointer_impl.h: No such file or directory. [Current thread is 1 (Thread 0x7fc905ad7900 (LWP 1269))] (gdb) bt full #0 QWeakPointer<QObject>::QWeakPointer(QWeakPointer<QObject> const&) (other=..., this=0x7fff3257acb0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:589 d = 0x20 #1 QPointer<KWayland::Server::LockedPointerInterface>::QPointer(QPointer<KWayland::Server::LockedPointerInterface> const&) (this=0x7fff3257acb0) at /usr/include/qt5/QtCore/qpointer.h:53 d = 0x20 #2 KWayland::Server::SurfaceInterface::lockedPointer() const (this=<optimized out>) at /usr/src/debug/kf5-kwayland-5.66.0-1.fc32.x86_64/src/server/surface_interface.cpp:937 d = 0x20 #3 0x00007fc906938809 in KWayland::Server::PointerInterface::<lambda()>::operator() (__closure=<optimized out>) at /usr/src/debug/kf5-kwayland-5.66.0-1.fc32.x86_64/src/server/pointer_interface.cpp:247 d = 0x5585256ff410 pos = {xp = 6.941689537196333e-310, yp = 6.9531853373731582e-310} targetSurface = <optimized out> #4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWayland::Server::PointerInterface::PointerInterface(KWayland::Server::SeatInterface*, wl_resource*)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #5 QtPrivate::Functor<KWayland::Server::PointerInterface::PointerInterface(KWayland::Server::SeatInterface*, wl_resource*)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #6 QtPrivate::QFunctorSlotObject<KWayland::Server::PointerInterface::PointerInterface(KWayland::Server::SeatInterface*, wl_resource*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized--Type <RET> for more, q to quit, c to continue without paging--c out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:439 #7 0x00007fc905d74a60 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff3257ae30, r=0x5585255ffd80, this=0x5585256ef150) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 obj = {d = 0x5585256ef150} receiver = 0x5585255ffd80 receiverInSameThread = <optimized out> sw = {receiver = 0x5585255ffd80, previousSender = 0x0, currentSender = {sender = 0x558524d49310, signal = 8, ref = 1}, switched = true} c = 0x558525704a70 last = 0x5585256118d0 locker = {val = 140501365871928} connectionLists = {connectionLists = 0x558524d49690} list = <optimized out> currentThreadId = 0x7fc905ad7900 signal_index = 8 empty_argv = {0x0} #8 QMetaObject::activate(QObject*, int, int, void**) (sender=0x558524d49310, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789 obj = {d = 0x5585256ef150} receiver = 0x5585255ffd80 receiverInSameThread = <optimized out> sw = {receiver = 0x5585255ffd80, previousSender = 0x0, currentSender = {sender = 0x558524d49310, signal = 8, ref = 1}, switched = true} c = 0x558525704a70 last = 0x5585256118d0 locker = {val = 140501365871928} connectionLists = {connectionLists = 0x558524d49690} list = <optimized out> currentThreadId = 0x7fc905ad7900 signal_index = 8 empty_argv = {0x0} #9 0x00007fc906909899 in KWayland::Server::SeatInterface::pointerPosChanged(QPointF const&) (this=this@entry=0x558524d49310, _t1=...) at /usr/src/debug/kf5-kwayland-5.66.0-1.fc32.x86_64/x86_64-redhat-linux-gnu/src/server/KF5WaylandServer_autogen/EWIEGA46WW/moc_seat_interface.cpp:451 _a = {0x0, 0x7fff3257ae90} #10 0x00007fc906941c02 in KWayland::Server::SeatInterface::setPointerPos(QPointF const&) (this=this@entry=0x558524d49310, pos=...) at /usr/src/debug/kf5-kwayland-5.66.0-1.fc32.x86_64/src/server/seat_interface.cpp:636 d = <optimized out> #11 0x00007fc906d5b822 in KWin::PointerInputRedirection::focusUpdate(KWin::Toplevel*, KWin::Toplevel*) (this=0x558524d43cc0, focusOld=<optimized out>, focusNow=0x558525cb4a30) at /usr/include/qt5/QtCore/qpoint.h:131 seat = 0x558524d49310 #12 0x00007fc906d13f0f in KWin::InputDeviceHandler::updateFocus() () at /usr/include/c++/9/bits/atomic_base.h:413 #13 0x00007fc906d15467 in KWin::InputDeviceHandler::update() (this=this@entry=0x558524d43cc0) at /usr/src/debug/kwin-5.17.90-1.fc32.x86_64/input.cpp:2492 #14 0x00007fc906d588db in KWin::PointerInputRedirection::processMotion(QPointF const&, QSizeF const&, QSizeF const&, unsigned int, unsigned long long, KWin::LibInput::Device*) (this=0x558524d43cc0, pos=..., delta=..., deltaNonAccelerated=..., time=1652800, timeUsec=1652800061, device=0x558524e30af0) at /usr/src/debug/kwin-5.17.90-1.fc32.x86_64/pointer_input.cpp:272 blocker = {static s_counter = 1, static s_scheduledPositions = {d = 0x7fc905e20b40 <QArrayData::shared_null>}, m_pointer = 0x558524d43cc0} event = {<QMouseEvent> = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7fc906ef4c68 <vtable for KWin::MouseEvent+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7fc905ee9ae0 <qt_meta_stringdata_QEvent>, data = 0x7fc905ee9520 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 5, posted = 0, spont = 0, m_accept = 1, reserved = 1213}, modState = {i = 0}, ts = 1652800}, l = {xp = 378.69718167443523, yp = 632.89473419457943}, w = {xp = 378.69718167443523, yp = 632.89473419457943}, s = {xp = 378.69718167443523, yp = 632.89473419457943}, b = Qt::NoButton, mouseState = {i = 0}, caps = 0, velocity = {v = {0, 0}}}, m_delta = {wd = -2.2000000000000002, ht = -7.7000000000000011}, m_deltaUnccelerated = {wd = -2, ht = -7}, m_timestampMicroseconds = 1652800061, m_device = 0x558524e30af0, m_modifiersRelevantForShortcuts = {i = 0}, m_nativeButton = 0} #15 0x00007fc906d11ca8 in QtPrivate::QFunctorSlotObject<KWin::InputRedirection::setupLibInput()::<lambda(const QSizeF&, const QSizeF&, uint32_t, quint64, KWin::LibInput::Device*)>, 5, QtPrivate::List<const QSizeF&, const QSizeF&, unsigned int, long long unsigned int, KWin::LibInput::Device*>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qpoint.h:287 #16 0x00007fc905d74a60 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff3257b2e0, r=0x558524d60390, this=0x558524e928d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 obj = {d = 0x558524e928d0} receiver = 0x558524d60390 receiverInSameThread = <optimized out> sw = {receiver = 0x558524d60390, previousSender = 0x7fff3257b420, currentSender = {sender = 0x558524dc0a80, signal = 6, ref = 1}, switched = true} c = 0x558524e1ef10 last = 0x558524e1ef10 locker = {val = 140501365871840} connectionLists = {connectionLists = 0x7fc8ec010fe0} list = <optimized out> currentThreadId = 0x7fc905ad7900 signal_index = 6 empty_argv = {0x0} #17 QMetaObject::activate(QObject*, int, int, void**) (sender=0x558524dc0a80, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789 obj = {d = 0x558524e928d0} receiver = 0x558524d60390 receiverInSameThread = <optimized out> sw = {receiver = 0x558524d60390, previousSender = 0x7fff3257b420, currentSender = {sender = 0x558524dc0a80, signal = 6, ref = 1}, switched = true} c = 0x558524e1ef10 last = 0x558524e1ef10 locker = {val = 140501365871840} connectionLists = {connectionLists = 0x7fc8ec010fe0} list = <optimized out> currentThreadId = 0x7fc905ad7900 signal_index = 6 empty_argv = {0x0} #18 0x00007fc906c696cd in KWin::LibInput::Connection::pointerMotion(QSizeF const&, QSizeF const&, unsigned int, unsigned long long, KWin::LibInput::Device*) (this=this@entry=0x558524dc0a80, _t1=..., _t2=..., _t3=<optimized out>, _t3@entry=1652800, _t4=<optimized out>, _t4@entry=1652800061, _t5=<optimized out>) at /usr/src/debug/kwin-5.17.90-1.fc32.x86_64/x86_64-redhat-linux-gnu/kwin_autogen/PCJB6APXE6/moc_connection.cpp:639 _a = {0x0, 0x7fff3257b390, 0x7fff3257b3a0, 0x7fff3257b2dc, 0x7fff3257b2d0, 0x7fff3257b2c8} #19 0x00007fc906d32288 in KWin::LibInput::Connection::processEvents() (this=0x558524dc0a80) at /usr/src/debug/kwin-5.17.90-1.fc32.x86_64/libinput/connection.cpp:377 deltaNonAccel = {wd = -2, ht = -7} latestTime = 1652800 latestTimeUsec = 1652800061 pe = 0x7fc8e8005210 delta = {wd = -2.2000000000000002, ht = -7.7000000000000011} it = <optimized out> event = {d = 0x7fc8e8005210} locker = {val = 94030337411785} #20 0x00007fc905d7579a in QObject::event(QEvent*) (this=0x558524d60390, e=<optimized out>) at kernel/qobject.cpp:1260 mce = <optimized out> sw = {receiver = 0x558524d60390, previousSender = 0x0, currentSender = {sender = 0x558524dc0a80, signal = 37, ref = 1}, switched = true} #21 0x00007fc906181ab6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x558524d08070, receiver=receiver@entry=0x558524d60390, e=e@entry=0x7fc8e8007630) at kernel/qapplication.cpp:3703 consumed = false filtered = false #22 0x00007fc90618b150 in QApplication::notify(QObject*, QEvent*) (this=0x7fff3257bad0, receiver=0x558524d60390, e=0x7fc8e8007630) at kernel/qapplication.cpp:3449 w = <optimized out> extra = <optimized out> isProxyWidget = <optimized out> d = <optimized out> res = false #23 0x00007fc905d4a3e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x558524d60390, event=0x7fc8e8007630) at kernel/qcoreapplication.cpp:1095 selfRequired = true result = false cbdata = {0x558524d60390, 0x7fc8e8007630, 0x7fff3257b66f} d = <optimized out> threadData = 0x558524cf6680 scopeLevelCounter = {threadData = 0x558524cf6680} #24 0x00007fc905d4d42b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x558524cf6680) at kernel/qcoreapplication.cpp:1840 e = 0x7fc8e8007630 pe = <optimized out> r = <optimized out> unlocker = {m = <synthetic pointer><error reading variable>} event_deleter = {d = 0x7fc8e8007630} locker = {val = 94030336583344} startOffset = 0 i = @0x558524cf66a4: 1 cleanup = {receiver = 0x0, event_type = 0, data = 0x558524cf6680, exceptionCaught = true} #25 0x00007fc905d9cca7 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x558524d175f0, flags=...) at kernel/qeventdispatcher_unix.cpp:466 d = 0x558524d267d0 include_timers = <optimized out> canWait = <optimized out> tm = <optimized out> wait_tm = {tv_sec = 140501329838656, tv_nsec = 140501329839087} nevents = <optimized out> #26 0x00007fc8f2bfd001 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/qt5/plugins/platforms/KWinQpaPlugin.so #27 0x00007fc905d491db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff3257b880, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 d = 0x558524da3520 locker = {val = 94030336499712} app = <optimized out> #28 0x00007fc905d510b6 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 threadData = 0x558524cf6680 eventLoop = {<QObject> = {_vptr.QObject = 0x7fc906005a08 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7fc905eee860 <qt_meta_stringdata_QObject>, data = 0x7fc905eee740 <qt_meta_data_QObject>, static_metacall = 0x7fc905d7cb10 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x558524da3520}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7fc905ef1780 <qt_meta_stringdata_Qt>, data = 0x7fc905eee980 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fc905ffdba0 <QObject::staticMetaObject>, stringdata = 0x7fc905ee8ba0 <qt_meta_stringdata_QEventLoop>, data = 0x7fc905ee8b40 <qt_meta_data_QEventLoop>, static_metacall = 0x7fc905d48ef0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #29 0x0000558524ca3795 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.17.90-1.fc32.x86_64/main_wayland.cpp:676 userSignals = {__val = {2560, 0 <repeats 15 times>}} environment = {d = {d = 0x558524d06280}} a = {<KWin::ApplicationWaylandAbstract> = {<KWin::Application> = {<QApplication> = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x558524cc8100 <vtable for KWin::ApplicationWayland+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7fc905eee860 <qt_meta_stringdata_QObject>, data = 0x7fc905eee740 <qt_meta_data_QObject>, static_metacall = 0x7fc905d7cb10 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x558524d08070}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7fc905ef1780 <qt_meta_stringdata_Qt>, data = 0x7fc905eee980 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fc905ffdba0 <QObject::staticMetaObject>, stringdata = 0x7fc905ee9240 <qt_meta_stringdata_QCoreApplication>, data = 0x7fc905ee9120 <qt_meta_data_QCoreApplication>, static_metacall = 0x7fc905d4be80 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fff3257bad0}, static staticMetaObject = {d = {superdata = 0x7fc906005ba0 <QCoreApplication::staticMetaObject>, stringdata = 0x7fc904105e40 <qt_meta_stringdata_QGuiApplication>, data = 0x7fc904105bc0 <qt_meta_data_QGuiApplication>, static_metacall = 0x7fc903dc9ed0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fc9041e0dc0 <QGuiApplication::staticMetaObject>, stringdata = 0x7fc906531a40 <qt_meta_stringdata_QApplication>, data = 0x7fc9065318c0 <qt_meta_data_QApplication>, static_metacall = 0x7fc9061885b0 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fc90668c040 <QApplication::staticMetaObject>, stringdata = 0x7fc906e62300 <qt_meta_stringdata_KWin__Application>, data = 0x7fc906e621c0 <qt_meta_data_KWin__Application>, static_metacall = 0x7fc906c77270 <KWin::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_originalSessionKey = {static null = {<No data fields>}, d = 0x7fc905e20b40 <QArrayData::shared_null>}, static crashes = 0, m_eventFilter = {d = 0x558524d340b0}, m_configLock = false, m_config = {d = 0x558524d334e0}, m_kxkbConfig = {d = 0x558524d445b0}, m_inputConfig = {d = 0x558524d449b0}, m_operationMode = KWin::Application::OperationModeXwayland, m_x11Time = 1652795, m_rootWindow = 924, m_connection = 0x5585256f3890, m_useKActivities = false, m_platform = 0x558524d42cd0, m_terminating = false}, static staticMetaObject = {d = {superdata = 0x7fc906efea80 <KWin::Application::staticMetaObject>, stringdata = 0x7fc906e62180 <qt_meta_stringdata_KWin__ApplicationWaylandAbstract>, data = 0x7fc906e62140 <qt_meta_data_KWin__ApplicationWaylandAbstract>, static_metacall = 0x7fc906c6dbc0 <KWin::ApplicationWaylandAbstract::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7fc906efea40 <KWin::ApplicationWaylandAbstract::staticMetaObject>, stringdata = 0x558524cbe3e0 <qt_meta_stringdata_KWin__ApplicationWayland>, data = 0x558524cbe3a0 <qt_meta_data_KWin__ApplicationWayland>, static_metacall = 0x558524ca3cc0 <KWin::ApplicationWayland::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_startXWayland = true, m_applicationsToStart = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fc905e22a80 <QListData::shared_null>}, d = 0x7fc905e22a80 <QListData::shared_null>}}, <No data fields>}, m_inputMethodServerToStart = {static null = {<No data fields>}, d = 0x7fc905e20b40 <QArrayData::shared_null>}, m_environment = {d = {d = 0x558524d87080}}, m_sessionArgument = {static null = {<No data fields>}, d = 0x558524d4fdc0}, m_xwayland = 0x5585255fba10} availablePlugins = {d = 0x558524cde180} hasPlugin = {__availablePlugins = @0x7fff3257b9e8} hasSizeOption = <optimized out> hasOutputCountOption = <optimized out> hasX11Option = <optimized out> hasVirtualOption = <optimized out> hasWaylandOption = true hasFramebufferOption = <optimized out> hasDrmOption = <optimized out> xwaylandOption = {d = {d = 0x558524d3d7e0}} waylandSocketOption = {d = {d = 0x558524d3b950}} framebufferOption = {d = {d = 0x558524d3cc10}} framebufferDeviceOption = {d = {d = 0x558524d3c860}} x11DisplayOption = {d = {d = 0x558524d3ce80}} waylandDisplayOption = {d = {d = 0x558524d3d160}} virtualFbOption = {d = {d = 0x558524d3ca80}} widthOption = {d = {d = 0x558524d3bdc0}} heightOption = {d = {d = 0x558524d3be00}} scaleOption = {d = {d = 0x558524d3bb40}} outputCountOption = {d = {d = 0x558524d3bb80}} parser = {d = 0x558524d30e30} libinputOption = {d = {d = 0x558524d4f8a0}} drmOption = {d = {d = 0x558524d4f8e0}} inputMethodOption = {d = {d = 0x558524d4f9e0}} listBackendsOption = {d = {d = 0x558524d4fb40}} screenLockerOption = {d = {d = 0x558524d4fbe0}} noScreenLockerOption = {d = {d = 0x558524d4fc80}} noGlobalShortcutsOption = {d = {d = 0x558524d4fd80}} exitWithSessionOption = {d = {d = 0x558524d23040}} pluginName = {static null = {<No data fields>}, d = 0x558524cbf460 <KWin::{lambda()#4}::operator()() const::qstring_literal>} initialWindowSize = {wd = 1024, ht = 768} deviceIdentifier = {d = 0x7fc905e20b40 <QArrayData::shared_null>} outputCount = 1 outputScale = 1 pluginIt = <optimized out> server = 0x558524d35b00 flags = <optimized out> Plasma froze later in the same boot while playing the same video in VLC. The core file wasn't saved for that crash. I've seen several similar crashes of Plasma with kwin_wayland segmentation faults shown in the journal recently, but no core files were available. The kwin_wayland core file was 2.4 GB uncompressed, and the systemd-coredump default limit was 2 GB. I increased the limit to 3 GB so the kwin_wayland core files could be saved without being truncated. STEPS TO REPRODUCE 1. Boot Fedora Rawhide KDE Plasma spin installation fully updated to 2020-1-29, with kwin-wayland, plasma-workspace-wayland, and their dependencies installed 2. Log in to Plasma on Wayland from sddm 3. change /etc/systemd/coredump.conf to have ProcessSizeMax=3G ExternalSizeMax=3G 4. Install rpmfusion-free-rawhide repository sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm 5. sudo dnf install vlc --enablerepo=rpmfusion-* 6. start vlc 7. play an mp4 video in vlc 8. pause the video. I'm not sure if the crashes are related to what is done in VLC or not. OBSERVED RESULT Plasma 5.17.90 froze due to a kwin_wayland segmentation fault in QWeakPointer<QObject>::QWeakPointer EXPECTED RESULT Plasma wouldn't crash. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora Rawhide/32 (available in About System) KDE Plasma Version: 5.17.90 KDE Frameworks Version: 5.66.0 Qt Version: 5.13.2 ADDITIONAL INFORMATION I've also seen Plasma freeze and crash when using Firefox many times, though the kwin_wayland core dumps were not available or truncated. I've seen kwin_wayland segmentation faults when logging out frequently which I've reported at https://bugs.kde.org/show_bug.cgi?id=416147 I'm seeing kwin_wayland aborts and segmentation faults when I shut down or reboot which might be related. I reported some of those kwin_wayland crashes which involved invalid reads and writes and use of uninitialized variables at https://bugs.kde.org/show_bug.cgi?id=409688 -- You are receiving this mail because: You are watching all bug changes.